Vba を使用して名前付き範囲を削除する方法 (例あり)
VBA で次の構文を使用すると、Excel ブックから名前付き範囲を削除できます。
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用して Excel ワークブック内の名前付き範囲を削除する
次の 3 つの名前付き範囲を含む Excel ワークブックがあるとします。
- Sheet1のSheet1_nameという名前付き範囲
- Sheet2のSheet2_nameという名前付き範囲
- Sheet3のSheet3_nameという名前付き範囲
これらの名前付き範囲をそれぞれ表示するには、ワークシートの左上隅にある[名前] ボックスのドロップダウン矢印をクリックするだけです。
これらの名前付き範囲をそれぞれ削除したいとします。
これを行うには、次のマクロを作成できます。
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
このマクロが実行されると、ブック全体内のすべての名前付き範囲が削除されます。
いずれかのシートの左上隅にある[名前] ボックスを再度クリックすると、それらが削除されたことを確認できます。
[名前] ボックスに名前付き範囲の名前が表示されなくなっていることがわかります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA:書式設定せずに値だけを貼り付ける方法
VBA: 表示されている線を別のシートにコピーする方法
VBA: 条件に基づいて行を別のシートにコピーする