【发布时间】:2015-10-09 16:37:13
【问题描述】:
我正在完成一个 .xls,它旨在通过宏更新另一个 .xls(一个工具)。所以基本上这个想法是单击一个按钮,选择您的目标文件(您将更新的文件),然后宏将通过复制、粘贴和替换公式以及添加工作表进行一些修改来修补文件。此补丁/更新文件仅包含将添加到目标文件中的单元格和工作表。
当我在其中包含引用仅存在于工具(目标文件)中但不存在于补丁 .xls 中的命名范围的公式时,我开始遇到一些麻烦。由于名称很多,我决定断开补丁文件中的所有连接,以便将公式复制到目标文件中而无需内部引用。我想避免这些引用卡在不适当的旧文件中的问题。
这些故意的链接损坏使补丁文件显示使用命名范围的公式出现错误“#NAME?”。我不在乎那里发生这种情况,但是当在目标文件中复制这些公式后仍然存在此错误时,我会这样做。在目标文件中存在这些名称。
我加入了这一行来刷新计算但没有用(相当于 Alt-Ctrl-Shift + F9)
wbTarget.Application.CalculateFullRebuild
正如您在 A3:A6 中看到的那样,我通过手动按 F2(编辑)和介绍使它们工作。此操作使用声明的名称恢复连接。这显然不是让所有单元都能正常工作的解决方案。
打印屏幕 这只是一个例子,但这发生在其他一些工作表中。 #¿名词?表示#NAME?
【问题讨论】:
-
你能给我们
cF2FAgency4的定义吗? -
如果您尝试
wbTarget.Save并确保在打开保存之前计算会发生什么?我注意到Calculate方法不一定适用于公式繁重的工作簿。
标签: excel named-ranges vba