Excel精英培训网

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

请问如何用VBA实现如下效果:在“组件工作表里,按A列重复值计数,例如S4Z030130的...

[复制链接]
发表于 2022-12-3 18:34 | 显示全部楼层 |阅读模式
请问如何用VBA实现如下效果:在“组件工作表里,按A列重复值计数,例如S4Z030130的计数是5,那么在“总表工作表里出现S4Z030130的位置插入计数值的行数,并复制S4Z030130对应的物料在刚刚插入的位置上,以此类推。

大神门,帮忙看看,万分感谢。

工作簿2581 - 副本.zip

72.99 KB, 下载次数: 3

发表于 2022-12-3 23:07 | 显示全部楼层
sub demo()


set d1 = CreateObject("Scripting.Dictionary")
set d2 = CreateObject("Scripting.Dictionary")


with sheets(1)
a=.[a1].CurrentRegion
for i=2 to ubound(a)
  d1(a(i,2)) = d1(a(i,2)) +1
next
end with


with sheets(2)
b=.[a1].CurrentRegion
for i=2 to ubound(b)
  d2(b(i,1)) = d2(b(i,1))&","&b(i,2)
  n = n + d1(b(i,1))
next
end with


redim c(1 to n + ubound(a)-1,3)
for i=2 to ubound(a)
  m = m + 1
  c(m,1) = a(i,1)
  c(m,2) = a(i,2)
  c(m,3) = a(i,3)
  b = split(d2(a(i,2)),",")
  for k=1 to ubound(b)
    m=m+1
    c(m,2) = b(k)
    c(m,3) = "取消"
  next
next
sheets(1).[a2].resize(m,3)=c
end sub

回复

使用道具 举报

 楼主| 发表于 2022-12-4 09:20 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 20:03 , Processed in 0.215417 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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