0

我有一个 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
4

1 回答 1

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
于 2013-03-11T13:19:42.390 回答