为了账号安全,请及时绑定邮箱和手机立即绑定

主要是问题1,请教各位大神,怎么通过VBA代码,按钮界面实现能???

主要是问题1,请教各位大神,怎么通过VBA代码,按钮界面实现能???

蛊毒传说 2023-04-01 14:10:58
问题1:如何在汇总表中,通过VBA把表A的列“汇总A” ,表B的列“汇总B”,表C的列"汇总C"中的物品1、物品2、物品3的数据全部提取到汇总表中呢?下图分别是汇总表,表A、表B、表C问题2:另外一个假设,如果表C的物品顺序不对的情况下呢?
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

这个问题可以使用字典和数组两种编程方式,字典的程序简单一点,数组运行效率更高一点点,但是逻辑稍微复杂一点,下面是数组的写法:
sub 宏1()
dim arr,arr2,n,i,j,k,t,i2
n=0'计算总行数
for each t in array("a","b","c")
n=n+sheets("汇总" & t).usedrange.rows.count
next t
redim arr(1 to n,1 to 4) '结果数组
n=0'结果数组行数
for each t in array("a","b","c")

arr2=sheets("汇总" & t).usedrange
j=asc(t)-asc("a")+2'数据在结果表的列
k=8 '数据在原始表的列
for i2=2 to ubound(arr2)
for i=1 to n
if arr(i,1)=arr2(i2,1) then exit for

next i
if arr(i,1)<>arr(i2,1) then
n=n+1

i=n

arr(i,1)=arr(i2,1)

end if
arr(i,j)=arr2(i2,k)
next i
next t
'保存结果
sheeta("汇总").range("a2").resize(n,4)=arr
end sub


查看完整回答
反对 回复 2023-04-03
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

这个函数SUMIF或VLOOKUP都能实现,VBA如果你自己对代码基础的都不熟,估计稍有变动,你又得求助了。

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信