ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 行业案例 > 生产管理 > 如何用VBA根据条件统计出入库和库存数量?

如何用VBA根据条件统计出入库和库存数量?

作者:绿色风 分类:生产管理 时间:2022-08-18 浏览:365
楼主
herelazy
Q:如何用VBA根据出库和入库工作表中的源数据,在总表中汇总计算出库和入库数量及库存数量?
如图:

 

A:
  1. Sub justtest()
  2.     Dim d, ArrTemp, StrTemp$, oI&, ArrRe(), K&, dErr, StrErr$
  3.     On Error Resume Next
  4.     Set d = CreateObject("scripting.dictionary")
  5.     Set dErr = CreateObject("scripting.dictionary")
  6.     With Sheets("入")
  7.         ArrTemp = .Range("a1").CurrentRegion.Value
  8.         For oI = 2 To UBound(ArrTemp, 1)
  9.             StrTemp = ArrTemp(oI, 1) & ArrTemp(oI, 2)
  10.             If d.exists(StrTemp) Then
  11.                 ArrRe(3, d(StrTemp)) = ArrRe(3, d(StrTemp)) + ArrTemp(oI, 3)
  12.             Else: K = K + 1: ReDim Preserve ArrRe(1 To 5, 1 To K)
  13.                 d.Add StrTemp, K: ArrRe(1, K) = ArrTemp(oI, 1)
  14.                 ArrRe(2, K) = ArrTemp(oI, 2): ArrRe(3, K) = ArrTemp(oI, 3)
  15.             End If
  16.         Next oI
  17.     End With
  18.     With Sheets("出")
  19.         ArrTemp = .Range("a1").CurrentRegion.Value
  20.         For oI = 2 To UBound(ArrTemp, 1)
  21.             StrTemp = ArrTemp(oI, 1) & ArrTemp(oI, 2)
  22.             If d.exists(StrTemp) Then
  23.                 ArrRe(4, d(StrTemp)) = ArrRe(4, d(StrTemp)) + ArrTemp(oI, 3)
  24.             Else:
  25.                 dErr(StrTemp) = ""
  26.             End If
  27.         Next oI
  28.     End With
  29.     With Sheets("总表")
  30.         For oI = 1 To K
  31.             ArrRe(5, oI) = ArrRe(3, oI) - ArrRe(4, oI)
  32.         Next
  33.         .Range("a2:e" & .Rows.Count).ClearContents
  34.         .Range("a2").Resize(K, 5) = Application.Transpose(ArrRe)
  35.     End With
  36.     If dErr.Count > 0 Then
  37.         StrErr = "存在以下出库有而未入库项目未计入统计:" & vbCrLf & Join(dErr.keys, ",")
  38.     End If
  39.     MsgBox "处理完毕。" & StrErr
  40.     Set d = Nothing
  41.     Set dErr = Nothing
  42. End Sub



出入库和库存数量统计.rar
2楼
yangkd2011
【请求完善中】仓库库存问题求解VBA http://www.exceltip.net/thread-25009-1-1.html

我这个比上面的要复杂,至今未能完美解决,分客户和不分客户 & 分时段和不分时段结算库存,如有兴趣
请仔细研究,期盼你能完美解决谢谢
3楼
tangjunsxhz
先看看
4楼
冰心8549
谢谢,下载了,
5楼
shxumin
谢谢分享,值得学习
6楼
じ☆潴の︵ゞ
支持社区
7楼
lu2486
我也想要这个
8楼
272779357
我也想要这个
9楼
ybc76
刚好在找这方面的资料参考,不错值得借鉴
10楼
laijin858
最近一直在研究这个资料,太谢谢了
11楼
wjlshm
这个不错学习
12楼
-芈芾
谢谢分享
13楼
gueazy
mark
14楼
caofen
谢谢楼主
15楼
lslly
谢谢分享
16楼
就我倆
值得学习,谢谢分享
17楼
congtaiqu
学习一下
18楼
zibwyq
谢谢楼主分享!!!
19楼
zppzmax
谢谢分享,值得学习
20楼
lrlxxqxa
21楼
nthzm2008
非常好的资料,有代码的详解就更好了!

免责声明

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

评论列表
sitemap