VBA删除命名范围。获取#NAME?

时间:2017-01-26 13:21:40

标签: excel vba excel-vba

我真的希望有人可以帮助我。 我试图创建一个脚本,删除现有的命名范围,然后根据我的工作表中的列表定义新的。 目前这个脚本看起来像这样。

Sub NamingRanges()

Worksheets("Input").Activate
Dim nm As Name

For Each nm In ThisWorkbook.Names
    nm.Delete
Next

Range("C6:Q9999").Select
Selection.CreateNames Top:=False, Left:=True, Bottom:=False, Right:=False
End Sub

运行脚本时,它给出了一个错误1004抱怨名称语法。我试过在nm.delete行之前放一个“MsgBox nm”,它返回=#NAME?在对话框中。即使在名称管理员中没有名字。 我真的希望有人能够帮助我。

1 个答案:

答案 0 :(得分:0)

将其添加到删除行

If InStr(1, nm.RefersTo, "=#NAME?") <1 Then nm.Delete