引用具有动态工作表名称的另一个工作簿

时间:2013-12-05 23:06:11

标签: excel

我想引用另一个工作簿和一个依赖于某些单元格值的特定工作表。

这个等式有效

='S:\停机时间[11-Nov_2013_Downtime Tracker.xls] 30'!$ F $ 12

但是'11'和'30'的值是动态的 - 它们分别取决于D13和E13的单元格值。

如何修改等式? 谢谢

2 个答案:

答案 0 :(得分:2)

如果您只想通过excel公式执行此操作,则可以像下面这样修改公式:

=INDIRECT("'S:\Down Time[11-" & A1 & "_2013_Downtime Tracker.xls]" & A2 & "'!$F$12)

在此示例中,假设nov-value位于单元格A1中,30值位于单元格A2中。但是,只有引用的工作簿处于打开状态时,此公式才有效。否则公式将返回#REF!错误。唯一的选择是使用VBA。

答案 1 :(得分:2)

有点晚了,但这是为了以防其他人正在寻找它。 更改范围以满足您的需求。

使用VBA:

Sub CallOtherWB()

    Dim ThisMonth As String
    Dim TheOtherVar As String

    ThisMonth = Range("D13").Value
    TheOtherVar  = Range("E13").Value

    With Range("A1")
        .Formula = "'S:\Down Time[11-" & ThisMonth & "_2013_Downtime Tracker.xls]" & TheOtherVar  & "'!$F$12"
    End With

End Sub