删除命名范围

我正在运行一个macros,它将采取活动工作簿中的工作表并将其复制到一个新的工作簿,然后尝试删除命名的范围,然后再保存。 删除已尝试的命名范围的所有迭代都失败,并显示相同的错误:

删除命名的范围错误

这里是我尝试过的代码,这是我能find的最常见的代码:

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

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

当您在工作簿中创build定义的名称时,您可能会无意中使用保留字或重复的形状或其他对象的名称。 以下可能有助于通过其索引来识别定义的名称,而不是对象本身。

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

我相信Workbook.Names集合的.Count和Index都是以1为基础的。