Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2346|回复: 5

[已解决]请老师帮忙 看看,能不能用VBA实现,谢谢

[复制链接]
发表于 2014-4-19 12:30 | 显示全部楼层 |阅读模式
本帖最后由 xhczq 于 2014-4-19 16:21 编辑

刚在函数那边发了,因急用,并且没有说清楚,所以在这边再发一次,如果下重的老师,请谅解。
附件有详细说明,请老师帮忙看看,谢谢
最佳答案
2014-4-19 15:58
是不是这样的结果?

请教(修改后).zip

238.2 KB, 下载次数: 2

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-4-19 15:10 | 显示全部楼层
合并在一个表里,期初数用+数,发出用-数,数据透视表都能看出余库存,函数和VBA也可实现,感觉VBA要相对容易实现些
回复

使用道具 举报

发表于 2014-4-19 15:14 | 显示全部楼层
本帖最后由 dsmch 于 2014-4-19 15:59 编辑
  1. Sub Macro1()
  2. Dim arr, brr, crr, d, i&, j&, zf$, p$
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Sheet1.Range("a1").CurrentRegion
  5. ReDim crr(1 To UBound(arr) - 1, 1 To 4)
  6. brr = Sheet2.Range("a1").CurrentRegion
  7. Range("a2:e60000").ClearContents
  8. For i = 2 To UBound(arr)
  9.     zf = arr(i, 1) & "," & arr(i, 2)
  10.     d(zf) = d(zf) & "," & i
  11. Next
  12. For i = 3 To UBound(brr)
  13.     zf = brr(i, 1) & "," & brr(i, 2)
  14.     x = Split(d(zf), ",")
  15.     y = brr(i, 3)
  16.     p = ""
  17.     For j = 1 To UBound(x)
  18.         If arr(x(j), 5) < y Then
  19.              y = y - arr(x(j), 5): arr(x(j), 5) = 0
  20.         Else
  21.             arr(x(j), 5) = arr(x(j), 5) - y
  22.         End If
  23.         If arr(x(j), 5) > 0 Then p = p & "," & x(j)
  24.     Next
  25.     d(zf) = p
  26. Next
  27. For i = 2 To UBound(arr)
  28.     crr(i - 1, 1) = arr(i, 1)
  29.     crr(i - 1, 2) = arr(i, 2)
  30.     crr(i - 1, 3) = arr(i, 4)
  31.     crr(i - 1, 4) = arr(i, 5)
  32. Next
  33. Range("a2").Resize(UBound(crr), 4) = crr
  34. End Sub
复制代码
回复

使用道具 举报

发表于 2014-4-19 15:58 | 显示全部楼层    本楼为最佳答案   
是不是这样的结果?

请教.zip

174.5 KB, 下载次数: 24

回复

使用道具 举报

 楼主| 发表于 2014-4-19 16:00 | 显示全部楼层
dsmch 发表于 2014-4-19 15:58
是不是这样的结果?

老师,你终于懂了,完全解决了,太爱你了,谢谢
回复

使用道具 举报

 楼主| 发表于 2014-4-19 16:21 | 显示全部楼层
白雪高山 发表于 2014-4-19 15:10
合并在一个表里,期初数用+数,发出用-数,数据透视表都能看出余库存,函数和VBA也可实现,感觉VBA要 ...

谢谢你,我觉得出库没有录入对应的库位,透视表透不出来哈,这是个人认为的,楼下有老师帮我解决了,真高兴
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 06:10 , Processed in 0.363724 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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