作者:绿色风
分类:
时间:2022-08-17
浏览:109
楼主 xyf2210 |
Q:如何按照已付款金额先进先出法核销“购进明细”里面的单据,并留下未核销的单据? A:- Sub test()
- Dim d, arr, i, brr(1 To 65536, 1 To 1), txt
- Set d = CreateObject("scripting.dictionary") '定义字典
- arr = Sheets("已付款").Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- d(arr(i, 2)) = d(arr(i, 2)) + Val(arr(i, 5)) '将已付款的供应商金额汇总
- Next
- arr = Sheets("购进明细").Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 5)) Then '判断是否有付款信息
- brr(i, 1) = ""
- Else
- d(arr(i, 5)) = d(arr(i, 5)) - Val(arr(i, 7)) '供应商付款金额比较
- If d(arr(i, 5)) > 0 Then
- brr(i, 1) = ""
- Else
- brr(i, 1) = Abs(d(arr(i, 5)))
- txt = arr(i, 5)
- Do While arr(i + 1, 5) = txt '找到这个供应商的最后一行
- i = i + 1
- brr(i, 1) = ""
- Loop
- End If
- End If
- Next
- Sheets("购进明细").Range("h1").Resize(i - 1, 1) = brr '将数据写入单元格
- End Sub
核销应付单据.rar |
2楼 yjzstar |
魔王V5 |
3楼 我的1314 |
魔王V5 |
4楼 老糊涂 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一