动态引用单元格

时间:2015-06-06 18:52:37

标签: excel parameters excel-formula filepath

我想在Excel中的单元格中为驱动器,文件路径,Excel电子表格名称和工作表名称设置名称,然后在引用外部单元格时将它们连接在一起。这将允许我创建动态引用工作表的宏,因为它与电子表格的位置无关。

到目前为止,我有以下内容:

  

驾驶= C
  位置=用户\ ashleys \桌面\新报价生产\报价位置3 \灰
  名称= Book3
  Sheet = Sheet1

(请注意,上面的=符号可以读作"将姓名指定为")

我将这些连接在一起,以下列方式创建另一个名称(称为Final):

  

最终="'"& Drive&":\"& Location&" ["& Name&&# 34; .XLSX]"&安培;表&安培;"'!"

最终决定如下:

C:\Users\ashleys\Desktop\New Quote Production\Quote Location 3\Ash\[Book3.xlsx]Sheet1'!

所以,就我而言,到目前为止一直都很好!

但是,我在最后一道障碍中尴尬地磕磕绊绊。当我在单元格引用中使用最终定义的名称时,它不会按照我期望的方式解析。所以,如果我在Book1中,并且我使用上面的代码来引用Book3中的单元格A3(例如包含单词" Success!"),我希望将以下内容键入到单元格中Book1将决定成功!": =全&安培; A3

相反,A3在Book1中解析为A3。

1 个答案:

答案 0 :(得分:1)

您需要使用INDIRECT才能工作,但其他工作簿必须打开。

http://www.cpearson.com/excel/indirect.htm

由于工作簿必须打开才能在其中工作,因此无需将文件位置添加到字符串中。在Workbook打开事件中使用的某些VBA代码中,可能会自动打开其他工作簿,或者查看Excel工作区以打开其他文件。

http://www.ozgrid.com/Excel/save-as-workspace.htm

即。如果Final是指定值,则=INDIRECT("'[Book3.xlsx]Sheet1'!$A$1")=INDIRECT(Final)