dynamic引用一个单元格
我想为Excel中的单元格中的驱动器,文件path,Excel电子表格名称和工作表名称设置名称,然后在引用外部单元格时将它们连接在一起。 这将允许我创builddynamic参考工作表的macros,因为电子表格在哪里并不重要。
到目前为止,我有以下几点:
Drive = C
Location = Users \ ashleys \ Desktop \ New Quote Production \ Quote Location 3 \ Ash
Name = Book3
Sheet = Sheet1
(请注意,上面的=号可以被认为是“指定的名称”)
我将它们连接在一起以下列方式创build另一个名称(称为Final):
Final =“'”&Drive&“:\”&Location&“[”&Name&“。xlsx]”&Sheet&“'!”
最终决议如下:
C:\Users\ashleys\Desktop\New Quote Production\Quote Location 3\Ash\[Book3.xlsx]Sheet1'!
所以,就我而言,到目前为止这么好!
然而,我最后的障碍是尴尬的绊倒。 当我在单元格引用中使用最终定义的名称时,它不能以我期望的方式解决。 所以,如果我在Book1中,并且使用上面的代码来引用Book3中的单元格A3(例如包含单词“Success!”),我希望在Book1中的单元格中键入以下代码将parsing为“成功!“:=完整&A3
A3将在Book1中parsing为A3。
您需要使用INDIRECT才能正常工作,但其他工作簿必须打开。
http://www.cpearson.com/excel/indirect.htm
由于工作簿必须公开才能工作,因此不需要将文件位置添加到string中。 在Workbook打开事件中使用的某些VBA代码中,可能会自动打开其他工作簿,或者查看Excel工作区来打开其他文件。
http://www.ozgrid.com/Excel/save-as-workspace.htm
ie =INDIRECT("'[Book3.xlsx]Sheet1'!$A$1")
或=INDIRECT(Final)
如果Final是一个命名值。