Excel精英培训网

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

[已解决]VBA归类数据汇总问题2

[复制链接]
发表于 2015-8-26 14:37 | 显示全部楼层 |阅读模式
本帖最后由 龙送农 于 2015-8-26 17:00 编辑

VBA归类数据汇总问题2
这是[url=]gufengaoyue[/url]帮写的代码,有的机子出现右边图片这个情况,代码不能运行,其他代码可以运行。卸载重装完全版也是一样,找不到原因?肯请大师用另一种方法重新写一个代码,达到这样的效果。

最佳答案
2015-8-26 16:49
代码第6句改成:  x = arr(i, 5) & arr(i, 8) & arr(i, 9)

VBA归类数据汇总问题8.26.zip

38.01 KB, 下载次数: 13

发表于 2015-8-26 15:08 | 显示全部楼层
  1. Sub 汇总1()
  2.     Set d = CreateObject("scripting.dictionary")
  3.     arr = Sheets("数据库").[a5].CurrentRegion
  4.     ReDim brr(1 To UBound(arr), 1 To 10)
  5.     For i = 3 To UBound(arr)
  6.         x = arr(i, 5) & arr(i, 9)
  7.         If Not d.exists(x) Then
  8.             n = n + 1
  9.             d(x) = n
  10.             brr(n, 1) = n
  11.             brr(n, 2) = arr(i, 5)
  12.             brr(n, 3) = arr(i, 8)
  13.             brr(n, 4) = arr(i, 9)
  14.         End If
  15.         p = d(x)
  16.         For k = 10 To 13: brr(p, k - 5) = brr(p, k - 5) + arr(i, k): Next
  17.         brr(p, 9) = brr(p, 5) - brr(p, 7)
  18.         brr(p, 10) = brr(p, 6) - brr(p, 8)
  19.     Next
  20.             
  21.             
  22.     With Sheets("库存汇总")
  23.          .Range(.[a6], .Cells(.Rows.Count, "j")).ClearContents
  24.          .[a6].Resize(n, 10) = brr
  25.          .[b6].Resize(n, 10).Sort key1:=.[b6]
  26.     End With
  27. End Sub
复制代码
回复

使用道具 举报

发表于 2015-8-26 15:09 | 显示全部楼层
请看附件。

VBA归类数据汇总问题8.26.rar

33.21 KB, 下载次数: 21

回复

使用道具 举报

 楼主| 发表于 2015-8-26 16:20 | 显示全部楼层
grf1973 发表于 2015-8-26 15:09
请看附件。

老师,能否将不同的计量单位也体现出来。
~3X773H8DAL~]UIV$JU5~T3.png
回复

使用道具 举报

发表于 2015-8-26 16:49 | 显示全部楼层    本楼为最佳答案   
代码第6句改成:  x = arr(i, 5) & arr(i, 8) & arr(i, 9)

VBA归类数据汇总问题8.26.rar

33.71 KB, 下载次数: 18

回复

使用道具 举报

 楼主| 发表于 2015-8-26 17:37 | 显示全部楼层
grf1973 发表于 2015-8-26 16:49
代码第6句改成:  x = arr(i, 5) & arr(i, 8) & arr(i, 9)

老师:我换了一个模板,运行不起来。麻烦您帮看看!

Book2.zip

126.17 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2015-8-27 09:14 | 显示全部楼层
grf1973 发表于 2015-8-26 16:49
代码第6句改成:  x = arr(i, 5) & arr(i, 8) & arr(i, 9)

老师:我换了一个模板,运行不起来。麻烦您帮看看!
Y_($[PH$5Q0Q3U%8R(B6A4B.png
91_}X_`JZ~)IM_TDF`]SHGY.png
回复

使用道具 举报

发表于 2015-8-27 09:34 | 显示全部楼层
第5句改成  For i = 5 To UBound(arr)。原模板1、2行是空的。
回复

使用道具 举报

发表于 2015-8-27 09:36 | 显示全部楼层
。。。。。。。。。

Book2.rar

88.89 KB, 下载次数: 26

回复

使用道具 举报

 楼主| 发表于 2015-8-27 10:02 | 显示全部楼层
grf1973 发表于 2015-8-27 09:36
。。。。。。。。。

谢谢老师的耐心指导![em17]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:10 , Processed in 0.921489 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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