为什么 Excel 现在在复制表上给我已经存在的名称范围警告?

Wil*_*mKF 8 microsoft-excel-2007

几天来,我一直在处理 Microsoft Excel 2007 电子表格。我正在使用像工作表这样的主模板并将其重复复制到新工作表。直到今天,这一切都没有问题。然而,今天中午突然变了,不知道为什么。现在,每当我尝试复制工作表时,我都会收到大约十个对话框,每个对话框都有不同的名称范围对象(如下所示为“XXXX”),我为每个对话框单击“是”:

要移动或复制的公式或工作表包含名称“XXXX”,该名称已存在于目标工作表中。您要使用此版本的名称吗?

  • 要使用目标工作表中定义的名称,请单击是。
  • 要重命名公式或工作表中引用的范围,请单击“否”,然后在“名称冲突”对话框中输入新名称。

名称范围对象引用工作表中的单元格。例如,在多个工作表上E6称为名称范围PRE(并且一直以来都是如此)并且某些公式引用PRE而不是$E$6. 上面的“XXXX”之一是这个PRE。这些名称范围只能在它们出现的工作表中解析。尽管以前在多个工作表上存在相同的名称范围,但之前这不是问题。我想保留我的名字范围。

我的电子表格中可能发生了什么变化来导致这种行为变化?我已经回到以前以这种方式创建的工作表,现在他们在复制时也会给出消息。我尝试了不同的计算机和不同的用户,到处都可以看到相同的行为。我只能得出结论,电子表格中的某些内容发生了变化。这可能是什么,我怎样才能恢复旧的行为,即我可以复制具有名称范围的工作表而不会收到任何警告?

查看Name Manager我看到被投诉的名称范围显示两次,一次为 scopeTemplate一次为 scope Workbook。但是,如果我删除了范围内Template的警告,则会在复制时消失,我会收到一堆 #REF 错误。如果我删除范围Workbook的,一切似乎都好,复制的警告也消失了,所以也许这就是答案,但我很担心这个删除会产生什么影响,并想知道这些Workbook是如何产生的.

仅删除Workbook名称管理器范围的条目是否安全?这些条目是如何在我一开始不知道的情况下出现的?

Wil*_*mKF 8

打开名称管理器并找到被投诉的命名项目并删除所有具有范围Workbook的项目,复制工作表的问题消失了,公式保持不变。

  • 只要工作簿中没有任何隐藏名称,这就会起作用。我刚刚清理了一位同事的工作簿,其中有 300 多个隐藏名称!您只能使用 VBA 清除隐藏名称(请参阅下面的答案)。我必须过滤的另一件事是以“_xlfn”开头的名称,它们是内置的 Excel 名称,无法删除:如果尝试,您会收到 1004 运行时错误。 `If​​ n.Visible = False And Not (Left(n.Name, 5) = "_xlfn") then n.Delete` 完成了这项工作 (2认同)

小智 6

Sub TOOLS_DELETENAMEDRANGE()

  Dim nm As name
  On Error Resume Next

  For Each nm In ActiveWorkbook.Names
    If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then  
      nm.Delete
    End If
  Next

  On Error GoTo 0

End Sub
Run Code Online (Sandbox Code Playgroud)

  • 有一些隐藏的名称范围无法从名称管理器访问,只能使用此代码正确删除。感谢一百万次! (2认同)