0

他のいくつかのワークブックからシートをインポートし、これらのデータを「概要」シートにマージする Excel ワークブックがあります。私はvbaにかなり慣れていないので、このタスクにはかなりの時間がかかり、多くの調査が行われました。ただし、解決できない、または答えを見つけることができない問題が1つありますが、方法を知っていれば、解決するのはかなり簡単だと思います。問題: シートをインポートすると、多くの不要な名前付き範囲もインポートされます。指定したものを削除せずに削除するマクロを実行して、これらを削除しようとしましたが、うまくいきません。

どんな助けでも大歓迎です

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

nameオブジェクトの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 に答える