ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1980|回复: 4

[分享] 按收益期分摊收入

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-6-27 09:00 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
大家好,我是这样分摊收入的,我是个会计

收入分摊

收入分摊

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-6-27 09:03 | 显示全部楼层
因为是公司,所以不好公开

有需要的朋友可以密我

TA的精华主题

TA的得分主题

发表于 2016-6-27 09:09 | 显示全部楼层
也没觉得有多神秘。真心分享模拟个数据也不难。估计是想收钱。
说错了,楼主也表介意。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-9 12:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
其实我只是想得瑟一下,楼上的你想错了,哈哈哈!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-9 14:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub Sheet2_按钮1_Click()
  2.   
  3.   If Cells(1, 6) = "" Or IsNull(Cells(2, 6)) Or IsNull(Cells(3, 6)) Then
  4.      MsgBox ("输入信息不全,请重新输入")
  5.      Cells(1, 6).Select
  6.      Exit Sub
  7.   End If
  8.   
  9.   If Cells(1, 6) > Cells(2, 6) Then
  10.      MsgBox ("输入有误,终止日早于起始日")
  11.      Cells(1, 6).SetFocus
  12.      Exit Sub
  13.   End If
  14.   
  15.   Range("A:D").ClearContents
  16.    
  17.   Dim Startdate As Date, Enddate As Date, Mydate As Date, Monthlength As Integer, Daylength As Integer, Income As Double, Tempincome As Double, Tempincome2 As Double
  18.   Startdate = Cells(1, 6).Value
  19.   Enddate = Cells(2, 6).Value
  20.   Income = Cells(3, 6).Value
  21.   Monthlength = DateDiff("m", Startdate, Enddate)
  22.   Daylength = DateDiff("d", Startdate, Enddate) + 1
  23.   Tempincome = Income
  24.   
  25.   Cells(1, 1) = "年度"
  26.   Cells(1, 2) = "月度"
  27.   Cells(1, 3) = "天数"
  28.   Cells(1, 4) = "金额"
  29.   For i = 0 To Monthlength
  30.     Mydate = DateAdd("m", i, Startdate)
  31.     If Monthlength = 0 Then
  32.        Cells(i + 2, 1) = Year(Mydate)
  33.        Cells(i + 2, 2) = Month(Mydate)
  34.        Cells(i + 2, 3) = Daylength
  35.        Cells(i + 2, 4) = Income
  36.     ElseIf i = 0 Then
  37.        Tempincome2 = Round(Income / Daylength * (Day(DateSerial(Year(Mydate), Month(Mydate) + 1, 0)) - Day(Mydate) + 1), 2)
  38.        Tempincome = Tempincome - Tempincome2
  39.        Cells(i + 2, 1) = Year(Mydate)
  40.        Cells(i + 2, 2) = Month(Mydate)
  41.        Cells(i + 2, 3) = Day(DateSerial(Year(Mydate), Month(Mydate) + 1, 0)) - Day(Mydate) + 1
  42.        Cells(i + 2, 4) = Tempincome2
  43.       
  44.     ElseIf i = Monthlength Then
  45.        Tempincome2 = Round(Income / Daylength * (Day(DateSerial(Year(Mydate), Month(Mydate) + 1, 0)) - Day(Mydate) + 1), 2)
  46.        Cells(i + 2, 1) = Year(Mydate)
  47.        Cells(i + 2, 2) = Month(Mydate)
  48.        Cells(i + 2, 3) = Day(Enddate)
  49.        Cells(i + 2, 4) = Round(Tempincome, 2)
  50.     Else
  51.        Tempincome2 = Round(Income / Daylength * Day(DateSerial(Year(Mydate), Month(Mydate) + 1, 0)), 2)
  52.        Tempincome = Tempincome - Tempincome2
  53.        Cells(i + 2, 1) = Year(Mydate)
  54.        Cells(i + 2, 2) = Month(Mydate)
  55.        Cells(i + 2, 3) = Day(DateSerial(Year(Mydate), Month(Mydate) + 1, 0))
  56.        Cells(i + 2, 4) = Tempincome2
  57.     End If
  58.     T = DateAdd("s", 0.1, Now)
  59.     Do Until Now > T
  60.         DoEvents
  61.     Loop
  62.   Next
  63. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-14 23:44 , Processed in 0.028949 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表