使用单元格值作为VLOOKUP表数组的参考?

我希望能够允许用户更改在VLOOKUP中用作参考的文件。 所有正在使用的文件将具有相同的数组,只是不同的文件path。

这是我认为它应该运作。

  1. 点击打开文件浏览器的macrosbutton。
  2. 允许用户select文件。
  3. 在单元格中粘贴文件path(A1)
  4. 将path转换为包含数组。
  5. 在VLOOKUP公式中,引用单元格A1作为“表格数组”。

我已经能够完成第3步。有关如何添加定义的数组并引用VLOOKUP中的单元格的任何想法?

我只是logging下你正在做的事情,然后用你得到的variables来代替你做的事情,就像把path放到单元格A1中一样。 然后只需要macros重新编写适当的查找公式。

你也可以做一个公式来显示你想要的,然后用vba来复制和粘贴值。 然后,您可能需要查找并replace单元格中的某些内容,才能将其转换为公式。

例:

 In A1 Put the path (with workbook name, ieC:\Users\username\Desktop\Book3.xlsx ) In B1 ="=VLOOKUP(D1,'"&MID(A5,1,FIND("*",SUBSTITUTE(A5,"\","*",LEN(A5)-LEN(SUBSTITUTE(A5,"\","")))))&"["&MID(A5,FIND("*",SUBSTITUTE(A5,"\","*",LEN(A5)-LEN(SUBSTITUTE(A5,"\",""))))+1,100)&"]Sheet1'!B$1:C$4,2,FALSE)" B1 then looks like this =VLOOKUP(D1,'C:\Users\username\Desktop\[Book3.xlsx]Sheet1'!B$1:C$4,2,FALSE) Copy B1 to C1 and do a find replace of something, like find Users and replace all with Users. 

这很麻烦,但是我使用类似这样的工具,需要根据另一个电子表格更新的6000行数组公式更新不同大小的30个不同文件。 它适合我,但对大文件有点慢。