Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 当#NAME时刷新命名范围?在';正在更新_Excel_Named Ranges_Vba - Fatal编程技术网

Excel 当#NAME时刷新命名范围?在';正在更新

Excel 当#NAME时刷新命名范围?在';正在更新,excel,named-ranges,vba,Excel,Named Ranges,Vba,我正在完成一个.xls,它是用来通过宏更新另一个.xls(一个工具)。基本上,我们的想法是点击一个按钮,选择你的目标文件(你将要更新的文件),然后宏将通过复制、粘贴、替换公式和添加工作表来修补文件。此修补程序/更新文件仅包括将添加到目标文件中的单元格和图纸 当我把那些引用命名范围的公式包括进来时,我开始遇到一些麻烦,这些命名范围只存在于工具(目标文件)中,但它们不存在于patch.xls中。由于有许多名称,我决定断开补丁文件中的所有连接,以便将公式复制到目标文件中,而无需内部引用。我想避免这些引

我正在完成一个.xls,它是用来通过宏更新另一个.xls(一个工具)。基本上,我们的想法是点击一个按钮,选择你的目标文件(你将要更新的文件),然后宏将通过复制、粘贴、替换公式和添加工作表来修补文件。此修补程序/更新文件仅包括将添加到目标文件中的单元格和图纸

当我把那些引用命名范围的公式包括进来时,我开始遇到一些麻烦,这些命名范围只存在于工具(目标文件)中,但它们不存在于patch.xls中。由于有许多名称,我决定断开补丁文件中的所有连接,以便将公式复制到目标文件中,而无需内部引用。我想避免这些引用被不适当的旧文件卡住的问题

这些故意的链接损坏使得修补程序文件显示使用命名范围的公式时出现错误“#NAME?”。我不在乎这里是否会发生这种情况,但当复制目标文件中的那些公式后仍然存在此错误时,我会这样做。在目标文件中存在这些名称

我包括这一行以刷新计算,但不起作用(相当于Alt-Ctrl-Shift+F9)

正如您可以在A3:A6中看到的,我通过手动按F2(编辑)和intro使它们工作。此操作将使用声明的名称还原连接。这显然不是让所有细胞正常工作的解决方案

印刷屏幕 这只是一个例子,但在其他一些表单中会发生这种情况#什么名字?意思是#名字


尝试下面的代码,为整个工作表重新输入公式:

Sub ReEnterFormulas()
    Dim Cell As Range
    For Each Cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
        Cell.Formula = Mid(Cell.Formula, 2)
    Next
End Sub

请尝试类似以下代码的操作,为整个工作表重新输入公式:

Sub ReEnterFormulas()
    Dim Cell As Range
    For Each Cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
        Cell.Formula = Mid(Cell.Formula, 2)
    Next
End Sub

您能告诉我们
cF2FAgency4
的定义吗?如果您尝试
wbTarget.Save
并确保启用了“保存前计算”,会发生什么情况?我注意到,当您有公式繁重的工作簿时,
Calculate
方法不一定能很好地工作。您能给我们介绍一下
cF2FAgency4
的定义吗?如果您尝试
wbTarget.Save
并确保启用了“保存前计算”功能,会发生什么情况?我注意到当你有公式繁重的工作簿时,
Calculate
方法不一定能很好地工作。我不知道为什么我没有听到你的答案,但无论如何,谢谢你。我不知道它是否有效,我只是制作了一个宏,用“*=”替换“=”,然后用“=”替换。它没有我想要的那么有效,但效果很好。@Gerónimo如果它有助于解决问题,请单击以接受答案。我不知道为什么我没有收到任何关于您答案的警报,但无论如何,谢谢。我不知道它是否有效,我只是制作了一个宏,用“*=”替换“=”,然后用“=”替换。它没有我想要的那么有效,但效果很好。@Gerónimo如果它有助于解决问题,请单击接受答案。