我有一个Excel工作簿,我从其中导入其他几个工作簿中的工作表,然后将这些工作簿中的数据合并到“概述”工作表中。我对vba相当新,所以这个任务花了很长时间,还有很多研究。 但是我有一个问题,我无法解决或找到答案,但我认为如果你知道如何解决应该相当简单。 (所以希望有人在那里。) 问题: 当我导入工作表时,我还导入了许多不需要的命名范围。我试图通过运行删除它们的宏来删除它们而不删除我指定的那些宏,但它对我有效。
非常感谢任何帮助
Sub DeleteNames()
Dim myName As Name
For Each myName In ThisWorkbook.Names
If myName <> "Tower" And _
myName <> "Bird" Then
myName.Delete
End If
Next
End Sub
答案 0 :(得分:2)
您需要使用名称对象的 namelocal 属性。
试试这个:
Sub DeleteNames()
Dim myName As Name
For Each myName In ThisWorkbook.Names
If myName.NameLocal <> "Tower" And myName.NameLocal <> "Bird" Then
myName.Delete
End If
Next
End Sub