具有已定义变量的 Vlookup 范围
Vlookup range with a defined variable
我正在整合来自几个 excel 文件的数据,我有 22 个文件要整合;但是,我需要专门查找单元格值。
在我的 VBA 代码中,我声明了一个名为 file=int(1) 的变量,我正在循环打开每个 excel 文件并将其合并到一个合并文件中。我所有的 excel 文件都从 1 到 22 编号。
我想要的是Vlookup,但是Vlookup的范围我希望它在循环时在文件中有存储的值。
例如
file = Int(1)
Do Until file = 22
ActiveCell.Formula = "=IFERROR(VLOOKUP($I,'[file.xls]Sheet1'!$B:$V,MATCH($F,'[file.xls]Sheet1'!$B:$V,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
你能帮帮我吗?
谢谢!
漂亮整洁的小循环!好吧,我想我知道你想在这里做什么。您希望在循环的每次迭代中动态更新公式中的 [file.xls]
。由于您使用的是 formula
属性,它接受一个字符串,因此您可以将存储的 file
值直接连接到其中。
这应该可以解决问题。
ActiveCell.Formula = "=IFERROR(VLOOKUP($I,'[" & file & ".xls]Sheet1'!$B:$V,MATCH($F,'[" & file & ".xls]Sheet1'!$B:$V,0),FALSE),0)"
希望我理解正确,如果没有理解,我们再来一轮!
我正在整合来自几个 excel 文件的数据,我有 22 个文件要整合;但是,我需要专门查找单元格值。
在我的 VBA 代码中,我声明了一个名为 file=int(1) 的变量,我正在循环打开每个 excel 文件并将其合并到一个合并文件中。我所有的 excel 文件都从 1 到 22 编号。
我想要的是Vlookup,但是Vlookup的范围我希望它在循环时在文件中有存储的值。
例如
file = Int(1)
Do Until file = 22
ActiveCell.Formula = "=IFERROR(VLOOKUP($I,'[file.xls]Sheet1'!$B:$V,MATCH($F,'[file.xls]Sheet1'!$B:$V,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
你能帮帮我吗?
谢谢!
漂亮整洁的小循环!好吧,我想我知道你想在这里做什么。您希望在循环的每次迭代中动态更新公式中的 [file.xls]
。由于您使用的是 formula
属性,它接受一个字符串,因此您可以将存储的 file
值直接连接到其中。
这应该可以解决问题。
ActiveCell.Formula = "=IFERROR(VLOOKUP($I,'[" & file & ".xls]Sheet1'!$B:$V,MATCH($F,'[" & file & ".xls]Sheet1'!$B:$V,0),FALSE),0)"
希望我理解正确,如果没有理解,我们再来一轮!