ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求助大神根据流水账汇总出来某客户这个月的出货列表并自动计算出对账单金额

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-13 21:56 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我想根据流水账,汇总出某个客户的出货列表,并且自动计算每单金额和欠款。以此生成对账单!

之前有大神批评表格混乱无章。我现在稍加改动了一下,尽量不要那么混乱。
我解释一下,我这个源表格是每天的流水账表格,客户每天的出货单已经另外打印存档的了,
现在这里是为了汇总客户的对账单为一个表格单独打印出来进行复核,
需要汇总的信息是每个出货单的金额,汇总整月的金额以及打款金额,
所以做了这样的表格,虽然是丑了点,但是方便勾账核对就足够了。

所以能不能麻烦大神帮帮忙看看,能不能用vba自动汇总出来所有所需的数据?

2222.png

客户对账单.rar

30.49 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2023-3-13 22:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个对账单的格式很粗糙

TA的精华主题

TA的得分主题

发表于 2023-3-13 22:29 | 显示全部楼层
表里面很多地方可以用公式解决,偏要舍近求远用VBA?

TA的精华主题

TA的得分主题

发表于 2023-3-13 23:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
VBA过程本质上是做一些重复有规律的事情,建议把表格整得漂亮点、规则清晰点,让别人有解决问题的欲望,否则丑到让人味同嚼蜡,回复帖子的人不见一个,过客倒是一大堆。
image.png

TA的精华主题

TA的得分主题

发表于 2023-3-14 07:39 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-3-14 08:08 | 显示全部楼层
写了一个,看看是不是你要求的,插入空行也简单,判断日期列上下不同加入空行,懒得写了。有空帮你加上。

客户对账单.zip

185.83 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2023-3-14 08:36 | 显示全部楼层
全党 发表于 2023-3-14 08:08
写了一个,看看是不是你要求的,插入空行也简单,判断日期列上下不同加入空行,懒得写了。有空帮你加上。

把插入空行加上了,毕竟刚学,代码不是太好,凑合用吧
  1. Sub shishi()
  2. Dim crr(1 To 10000, 1 To 13)
  3. Set dic = CreateObject("Scripting.Dictionary")
  4. With Sheets("客户月度出货列表")
  5. R = .Cells(Rows.Count, "a").End(xlUp).Row
  6. c = .Cells(1, Columns.Count).End(xlToLeft).Column
  7. arr = .Range("a1").Resize(R, c)

  8. End With
  9. For i = 2 To UBound(arr)
  10.      If arr(i, 2) <> "" Then
  11.         If arr(i, 2) = [q1] Then
  12.         n = n + 1
  13.        For j = 1 To UBound(arr, 2)
  14.         crr(n, j) = arr(i, j)
  15.         crr(n, 10) = VBA.Round(arr(i, 9) + arr(i, 8), 0)
  16.         Next j
  17.         End If
  18.     End If
  19.    
  20. Next i
  21. i = Cells(Rows.Count, "a").End(xlUp).Row
  22. Range("a2:p10000").Clear
  23. Range("a2").Resize(n, 13) = crr
  24. Range("n2") = "=j2-l2+r1"
  25. Range("n3") = "=j3-l3+n2"
  26. Range("n3").AutoFill Range("n3:n" & i)
  27. For j = i To 2 Step -1
  28. If Cells(j, 13) <> Cells(j - 1, 13) Then
  29. Rows(j).Select
  30.   Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  31. End If
  32. Next
  33. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-14 14:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
LIUZHU 发表于 2023-3-13 23:09
VBA过程本质上是做一些重复有规律的事情,建议把表格整得漂亮点、规则清晰点,让别人有解决问题的欲望,否 ...

关于这个,我解释一下吧。因为我的表格受众不是文职文员来对账,都是一些市场卖海鲜的大老粗。我尽可能的把所有信息全部写在每一行。因为这个表格我还要用于每天出货单的单独打印,所以这些信息是要加在数量后面的

TA的精华主题

TA的得分主题

发表于 2023-3-14 15:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-3-14 15:59 | 显示全部楼层
用WPS打开测试,切换到JS宏运行,没有WPS就当路过吧

客户对账单-1.zip

32.42 KB, 下载次数: 5

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 11:42 , Processed in 0.036195 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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