動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2203 ビルド15028.20228 Microsoft Store)
「VBA 名前の定義 range」
といった検索で時折アクセスがあります。
この検索キーワードだけでは何を探していらしたのかわかりませんが、ここではVBAから名前を定義する簡単なコードをご紹介します。
[スポンサードリンク]
Range.Nameプロパティで名前の定義が可能
Rangeオブジェクトに用意されているNameプロパティを使えば、VBAから名前の定義ができます。
オブジェクトブラウザーの詳細ペインに「読み取り専用」表示がないことから、Range.Nameプロパティは取得だけでなく、設定も可能なプロパティであることがわかります。
Range.Nameで名前を定義するサンプルマクロ
簡単なマクロで実際の挙動を確認しましょう。
Sub 名前を定義する()
Range("A1:G7").Name = "名前のサンプル"
Range("名前のサンプル").Select
MsgBox Range("名前のサンプル").Address(False, False)
End Sub
Range("A1:G7").Name = "名前のサンプル"
Range("名前のサンプル").Select
MsgBox Range("名前のサンプル").Address(False, False)
End Sub
上記のExcelマクロを実行すると、アクティブシートのA1:G7セルに「名前のサンプル」という名前が定義され、
Range("A1:G7").Name = "名前のサンプル"
定義したばかりの名前「名前のサンプル」を使って、選択が行われ、
Range("名前のサンプル").Select
そのセル範囲のアドレスがメッセージボックスに表示されます。
MsgBox Range("名前のサンプル").Address(False, False)
上記のSubプロシージャ実行後にExcelの名前ボックスを確認すれば、もちろん下図のとおり、
「名前のサンプル」が表示されます。
最終更新日時:2022-07-28 14:04
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » 名前の定義をVBAで行うには-Range.Name