1

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

这就是我认为它应该如何运作的方式。

  1. 单击打开文件浏览器的宏按钮。
  2. 允许用户选择文件。
  3. 在单元格中粘贴文件路径 (A1)
  4. 将路径转换为包含数组。
  5. 在 VLOOKUP 公式中,将单元格 A1 引用为“表格数组”。

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

4

1 回答 1

0

我只想准确记录您想做的事情,然后用分配的变量替换您所做的事情,例如将路径放入单元格 A1 时。然后让宏重新编写适当的 vlookup 公式。

您还可以制作一个公式来显示您想要的内容,然后使用 vba 复制并粘贴值。然后,您可能需要在单元格中查找并替换某些内容以使其实际转换为公式。

例子:

In A1 Put the path (with workbook name, i.e.C:\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 个不同大小的不同文件。它对我来说效果很好,但对于大文件来说有点慢。

于 2013-07-31T18:07:37.207 回答