我今天遇到了这个问题,当时我复制了一个包含命名范围的工作表,后来我从原始工作表中删除了该工作表.但是,该名称无法使用,因为它仍然使用.RefersTo值"=#NAME?"进行索引.并命名为"_xlfn.IFERROR".遗憾的是,错误的命名范围在名称管理器中不可见,并且也无法使用VBA子例程删除,这给出了错误1004.
我解决这个问题的方法:1.在您选择的模块中定义VBA中的子程序,这将使命名管理器中的错误命名范围可见:
Public Sub makeNameJunkVisible() Dim n As Name For Each n In ThisWorkbook.names If n.RefersTo = "=#NAME?" Then n.visible = True End If Next n end sub
打开名称管理器,它位于功能区菜单上的"公式"选项卡中现在,命名管理器上应显示错误的命名范围,您应该可以将其删除.