我正在最后确定该宏,因此我将文件名从“ Tool_ 测试 .xlsm”更改为“ Tool_ 最终 .xlsm”。
然后我注意到发生了一件奇怪的事情。每个具有以下代码的模块:
Thisworkbook.RefreshAll
打开一个对话框“很抱歉,我们找不到'... 文件路径 ... \ Tool_ 测试 .xlsm。”这是旧的文件路径/名称。
其中一个模块完整如下:
Sub Clear_All()
If MsgBox("Erase all the data imported?", vbYesNo) = vbNo Then Exit Sub
Sheets("Doc. Currency").Range("C135:N200").ClearContents
Sheets("Auto19").Range("A3:H531").ClearContents
Sheets("F08").Range("A2:E201").ClearContents
ThisWorkbook.RefreshAll
End Sub
仅此而已。为什么它一直引用旧文件? “这本工作簿。”在任何地方都能正常工作,包括在我测试此模块时。似乎是“刷新”是导致问题的原因,但我似乎无法弄清原因。
答案 0 :(得分:1)
更新:
问题不是代码。
问题在于,即使文件名更改,数据透视表仍保留其旧引用。解决方案是选择数据透视>分析>更改数据源>重新分配范围。
如果您打算经常更改文件名,我想最好是创建一个宏来重现数据透视表或手动更新范围引用。
请考虑解决此问题!并感谢您的评论!