我整合了几个excel文件中的数据,我有22个文件要合并;但是,我需要专门查找一个单元格值。
在我的VBA代码中,我声明了一个名为file = int(1)的变量,并且我正在执行循环以打开并将每个excel文件合并到一个合并文件中。我的所有excel文件都编号为1到22。
我想要的是Vlookup,但是Vlookup的范围我希望它在执行循环时将存储的值保存在文件中。
例如
file = Int(1)
Do Until file = 22
ActiveCell.Formula = "=IFERROR(VLOOKUP($I$6,'[file.xls]Sheet1'!$B$4:$V$27,MATCH($F$26,'[file.xls]Sheet1'!$B$3:$V$27,0),FALSE),0)"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Select
Selection.Offset(1, 0).Select
file = file + 1
你能帮帮我吗?
谢谢!
答案 0 :(得分:0)
漂亮整洁的小循环!好的,我想我知道你在这里要做什么。您希望在循环的每次迭代中动态更新公式更新中的[file.xls]
。由于您使用的是带有字符串的formula
属性,因此您可以将存储的file
值连接到其中。
这应该可以解决问题。
ActiveCell.Formula = "=IFERROR(VLOOKUP($I$6,'[" & file & ".xls]Sheet1'!$B$4:$V$27,MATCH($F$26,'[" & file & ".xls]Sheet1'!$B$3:$V$27,0),FALSE),0)"
希望我理解得当,如果没有,我们会再去一轮!