VBA-使用索引/匹配复制多个列以符合多个条件
我对VBA很陌生 我有两张床单。第一张是一张旧的大表格,其中包含过时的信息,第二张包含第一张表格的子集,其中包含更新的数据 下面是每张图纸的(截断)示例VBA-使用索引/匹配复制多个列以符合多个条件,vba,excel,Vba,Excel,我对VBA很陌生 我有两张床单。第一张是一张旧的大表格,其中包含过时的信息,第二张包含第一张表格的子集,其中包含更新的数据 下面是每张图纸的(截断)示例 **Old Large Sheet** Year Month Region Data1 Data2 CalculatedData1 CalculatedData2 2016 1 1 X1 Y1 X1 X1/Y1 2016 2 1 X2 Y2 X1+X2
**Old Large Sheet**
Year Month Region Data1 Data2 CalculatedData1 CalculatedData2
2016 1 1 X1 Y1 X1 X1/Y1
2016 2 1 X2 Y2 X1+X2 X2/Y2
2016 3 1 X3 Y3 X1+X2+X3 X3/Y3
...
2017 1 1 X13 Y13 X13 X13/Y13
...
2025 12 30 XXX YYY ...
还有新的床单
**New Sheet**
Year Month Region Data1 Data2
2017 1 1 X13' Y13'
2017 2 1 X14' Y13'
2017 3 1 X15' Y15'
2017 4 1 X16' Y16'
基本上,我希望根据前三列的索引/匹配,将旧表中的“数据”列替换为新表中的值
在Excel中,这意味着过滤特定的时段/区域,并在数据中写入一个数组公式
{=INDEX('NewSheet'!D2:D1000;MATCH($A2&$B2&$C2;_
'NewSheet'!$A$2:$A$1000&$B$2:$B$1000&$C$2:$C$1000;0))}
并为每个“数据”列和每个筛选行复制它
我的问题是:如何以一种非常自动化的方式在VBA中进行替换?嗯,你知道VBA触发器或其他被称为触发器的东西吗?例如,像
子工作表\u Change
。基本上,每次更改单元格时都会运行宏
所以我在想这样的事情:
Sub Worksheet_Change()
'check cell index
'check if data is outdated
'if yes, replace data
'grab a beer while you revel in a world of automation
end Sub
资料来源: