VBA跨工作簿VLOOKUP?

有10张含有同样sheet的表格,如何让相应工作薄名字为变量i,可以循环查询10个表。如何把下面的[1.xls]用变量循环

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[1.xls]支付!R7C3:R243C5,3,false)"

第1个回答  2021-05-28
i=1
Do

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[" & i & ".xls]支付!R7C3:R243C5,3,false)"
i=i +1
loop while WorksheetFunction.isNa(ActiveCell) and i <=10
'搜到结果后会停止循环追问

谢谢,如果是需要查询完全部10个表要怎么弄

追答

把WorksheetFunction.isNa(ActiveCell)的判断去掉
但如果每个表里都能搜到结果,循环完了得到的只有最后一个表的数据,因为后面的结果把前面的结果覆盖掉了,如果需要保留10个结果,需要每次循环变更存放结果的单元格,比如:
For i= 1 to 10
ActiveCell.Offset(0,i).FormulaR1C1 = "=VLOOKUP(RC[-2],[" & i & ".xls]支付!R7C3:R243C5,3,false)"
Next i

本回答被提问者采纳