ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何按照“先进先出”法自动调整应付款的账龄?

如何按照“先进先出”法自动调整应付款的账龄?

作者:绿色风 分类: 时间:2022-08-17 浏览:109
楼主
omnw
Q:如何按照“先进先出”法自动调整应付款的账龄?
A:通过输入某笔应付款本年的“借方”或“贷方”发生额,以代码根据期初账龄数据,自动实现调整期末账龄数据。
原理:
1、依次将期初各期账龄数据调整为上一级期末的账龄数据,账龄最长的期末数据为倒数两级期初数据的合计。
2、期末最短账龄数据为本期贷方发生额。
3、从期末最长账龄数据开始依次减去本期借方发生额,完成期末数据的调整。
具体代码如下:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim i As Integer, MyValue As Double
  3.     If Target.Count = 1 Then
  4.         If Target.Row >= 5 And (Target.Column = 17 Or Target.Column = 18) Then
  5.             Range("W" & Target.Row & ":AB" & Target.Row).ClearContents    '清除原有数据
  6.             Range("W" & Target.Row) = Range("R" & Target.Row)    '1年以内账龄数据,贷方发生额
  7.             Range("X" & Target.Row) = Range("J" & Target.Row)    '1-2年账龄数据
  8.             Range("Y" & Target.Row) = Range("K" & Target.Row)    '2-3年账龄数据
  9.             Range("Z" & Target.Row) = Range("L" & Target.Row)    '2-3年账龄数据
  10.             Range("AA" & Target.Row) = Range("M" & Target.Row)    '2-3年账龄数据
  11.             Range("AB" & Target.Row) = Range("N" & Target.Row) + Range("O" & Target.Row)    '3年以上账龄数据
  12.             MyValue = Range("Q" & Target.Row) '保存借方发生额
  13.             For i = 28 To 23 Step -1    '处理借方发生额
  14.                 If MyValue > 0 Then '可用借方余额
  15.                     If Cells(Target.Row, i) > MyValue Then '如果某账龄的余额大于借方发生额
  16.                         Cells(Target.Row, i) = Cells(Target.Row, i) - MyValue '处理该账龄余额
  17.                         MyValue = 0
  18.                     Else '如果某账龄应付款余额小于借方余额
  19.                         Cells(Target.Row, i) = 0 '该账龄应付款余额为零
  20.                         MyValue = MyValue - Cells(Target.Row, i) '可以使用的借方余额
  21.                     End If
  22.                 End If
  23.             Next i
  24.         End If
  25.     End If
  26. End Sub
如果使用此规则处理应收账款,请将代码中的Q列和R列互换。
应付账款.rar
2楼
kevinchengcw
学习了,感谢卞版分享!
3楼
俟人.琳
学习了,谢谢!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap