凯龙经典老歌
新闻动态 你的位置:凯龙经典老歌 > 新闻动态 > 往来账清账勾对,字典实例详解,把多个单元格区域组合装入字典

往来账清账勾对,字典实例详解,把多个单元格区域组合装入字典

发布日期:2025-04-12 15:41    点击次数:106

内容提要

往来账勾对字典dictionary应用大家好,我是冷水泡茶,今天在EXCELHOME论坛上看到一个求助贴:[求助] 如何用VBA将往来账勾对两清?我仔细研究了一下,觉得可以用字典来解决,正好前天我们分享过一篇关于字典的内容:

有人想付费学习字典,我觉得没啥必要,再谈字典Dictonary(免费)!

今天我们就实际应用一下。数据表格就是一张Sheet1表,是一个预付账款单位往来明细账:

图片

具体要求:

将表中单位,单据编号相同,借贷金额相等的数据,自动勾对两清?

https://club.excelhome.net/thread-1616710-1-1.html?_dsign=22d05a96

关于两列数据勾对的操作,我们分享过一个银行余额调节表案例:

银行对账单自动勾对

跟今天的案例有点类似,但也有所不同,今天的案例勾对范围有限制,在同一个供应商、同一个往来业务编号内进行勾对。

基本思路:

1、我们采用字典来归集每个供应商、每个业务编号的数据。2、我们把数据按照供应商、业务编号进行汇总,如果借贷方相等,我们就把当前供应商业务编号所有记录匀打上两清标记“y”。3、如果借贷方不等,我们再逐行比较,找到借贷方金额相同的进行勾对。4、在勾对过程中,我们需要记下每一行数据的所在行号,以便能正确写入两清标记“y”,我们干脆直接操作单元格,把每个供应商业务编号的所在区域Range对象组合在一起,作为字典的item。5、我们循环字典的key,把item取出到一个Range对象rng,然后循环rng的所有行区域,把借、贷方金额进行汇总,如果借、贷方汇总金额相等,则把rng的第6列打上“y”,如果借、贷方汇总不等,再逐个比较每一行的借、贷方金额,把借、贷相同的打上“y” 。

图片

完整示例代码详见当天另一条推文。

后记

1、演示表格中最后3行标红的记录,是我后来添加上去的,用来测试当供应商业务编号汇总的借、贷方不等时,再进行明细勾对。

2、如果借、贷方汇总金额相等时,我们标上绿色,表示完全两清。如果汇总的借贷方不等,但有明细的借、贷方金额相同的,我们也进行勾对,标上淡黄色,表示不完全两清。

3、还有一种复杂的情况我们没有去考虑,就是在进行明细勾对时,一对多、多对多的情况。如果凑巧的话,在借、贷方汇总金额相等的情况下,有可能包含一对多、多对多的情况,变相解决这个问题,可以算作一种特例吧。

4、在勾对处理时,我们是循环字典的key,这里也可以直接循环字典的item。

好,今天就到这里,我们下期再会!

~~~~~~End~~~~~~ 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

上一篇:没有了
下一篇:没有了

Powered by 凯龙经典老歌 @2013-2022 RSS地图 HTML地图