微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 VBA 打开源工作簿时,VLookups 不更新

如何解决通过 VBA 打开源工作簿时,VLookups 不更新

我有一个主工作簿,它对来自单独工作簿的数据进行计算。为了方便用户,我在主工作簿上创建了一个按钮,用于打开源工作簿(这样他们就不必在目录中查找源文件了)。

我为打开文件的按钮分配了以下宏:

Sub OpenIRTSumReport()
'
' Open the IRT Sum Report as given by the file path in the "START" tab
'
    Dim dir As String
    Dim fileName As String
    dir = Worksheets("START").Range("$C$3").value
    fileName = Worksheets("START").Range("$C$4").value
    
    If dir <> "" And fileName <> "" Then
        Dim path As String
        path = Chr(34) & dir & "\" & fileName & Chr(34)
        
        Workbooks.Open path
        
        ThisWorkbook.Activate
    End If
End Sub

我的问题:主工作簿中的链接仍然显示#REF!即使按下按钮打开工作簿后也会出错。如果我手动打开源工作簿,链接更新正常,但使用 VBA 宏不会更新链接,尽管工作簿已打开。

我试过按全部刷新按钮,我已经确保链接和公式设置为自动更新,我什至尝试在单元格中重新键入公式,但它仍然没有。

我相信#REF!错误发生在我的主要工作簿链接中的 INDIRECT 函数中,但它可能是 VLOOKUP,我不完全确定。此刻非常迷茫。

编辑:更多的故障排除;问题似乎肯定出在 INDIRECT 函数中。我可以使用硬编码引用而不是 INDIRECT 将 VLOOKUP 重新键入到不同的单元格中,并且 VLOOKUP 工作正常。

干杯, 马修·梅尔滕斯

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。