删除命名范围

时间:2016-10-25 17:50:42

标签: excel vba excel-vba

我正在运行一个宏,它在活动工作簿中获取工作表并将其复制到新工作簿,然后尝试在保存之前删除命名范围。删除我尝试过的命名区域的所有迭代都失败并出现相同的错误:

  

Delete named ranges error

以下是我尝试过的代码,这是我能找到的最常用的代码:

Dim nName As Name
For Each nName In Application.ActiveWorkbook.Names
    nName.Delete
Next

1 个答案:

答案 0 :(得分:3)

  

评论太久了;如果这不能解决问题,我会删除。

在工作簿中创建已定义的名称时,可能无意中使用了保留字或复制了形状或其他对象的名称。以下内容可能有助于通过索引识别定义的名称,而不是对象本身。

do while cbool(activeWorkbook.names.count)
    activeWorkbook.Names(1).Delete
loop

我认为.CountWorkbook.Names collection的索引都是基于1的。