我正在运行一个宏,它在活动工作簿中获取工作表并将其复制到新工作簿,然后尝试在保存之前删除命名范围。删除我尝试过的命名区域的所有迭代都失败并出现相同的错误:
以下是我尝试过的代码,这是我能找到的最常用的代码:
Dim nName As Name
For Each nName In Application.ActiveWorkbook.Names
nName.Delete
Next
答案 0 :(得分:3)
评论太久了;如果这不能解决问题,我会删除。
在工作簿中创建已定义的名称时,可能无意中使用了保留字或复制了形状或其他对象的名称。以下内容可能有助于通过索引识别定义的名称,而不是对象本身。
do while cbool(activeWorkbook.names.count)
activeWorkbook.Names(1).Delete
loop
我认为.Count
和Workbook.Names collection的索引都是基于1的。