Dmi*_*kin 2 excel vba excel-vba
Sub DeleteNames()
Dim nName As Name
For Each nName In ThisWorkbook.Names
If nName.Name Like "_xlfn.*" Then nName.Delete
Next nName
End Sub
Run Code Online (Sandbox Code Playgroud)
不能使用错误1004
Sub ShowNames()
Dim nName As Name
For Each nName In ThisWorkbook.Names
nName.Visible = True
Next nName
End Sub
Run Code Online (Sandbox Code Playgroud)
不能使用错误运行时错误438"对象不支持此属性或方法
如何删除_xlfn.IFERROR命名范围?
小智 7
我今天遇到了这个问题,当时我复制了一个包含命名范围的工作表,后来我从原始工作表中删除了该工作表.但是,该名称无法使用,因为它仍然使用.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
Run Code Online (Sandbox Code Playgroud)