教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セル範囲に名前を付ける(Name)方法を教えて!

構文

構文は以下の通りです。

Range("セル範囲").Name = "セル範囲名称"

解説

Nameプロパティは、セルや範囲に名前を付けるための機能です。名前を付けることにより、後のプログラム内でその名前を使用してセルや範囲を参照することができます。セル範囲には名前を付けたいセル範囲を示し、セル範囲名称にはその範囲に対して付けたい名前を示します。

使い方

以下に、具体的な使い方を幾つか紹介します。

1.名前付き範囲の作成

Range("[セル範囲]").Nameを使用すると、指定したセル範囲に名前を付けることができます。

Range("A1:B3").Name = "MyRange"

上記の例では、範囲A1からB3までに名前"MyRange"を付けています。

2.名前付き範囲の参照

名前を付けた範囲を後で参照する場合は、Range("[セル範囲名称]")という形式で名前付き範囲を指定します。

Dim myRange As Range
Set myRange = Range("MyRange")

上記の例では、名前付き範囲"MyRange"をRange("MyRange")で参照しています。myRange変数に名前付き範囲を代入することで、後続の操作や処理で簡単に名前付き範囲を使用できます。

3.名前付き範囲のプロパティとメソッドの使用

名前付き範囲には、様々なプロパティやメソッドがあります。例えば、名前付き範囲の値を取得するにはValueプロパティを使用し、範囲内のセルをループ処理するにはCellsプロパティを使用します。

Dim myRange As Range
Set myRange = Range("MyRange")
' 名前付き範囲の値を取得
Dim rangeValue As Variant
rangeValue = myRange.Value
' 名前付き範囲内のセルをループ処理
Dim cell As Range
For Each cell In myRange.Cells
    ' セルの値を表示
    MsgBox cell.Value
Next cell

上記の例では、名前付き範囲"MyRange"をRange("MyRange")で参照し、名前付き範囲の値を取得したり、範囲内のセルをループ処理して値を表示したりしています。

プログラミング例

以下に、具体的なプログラミング例をご紹介します。以下の例では、名前を付けたセルや範囲を使用して値を設定したり、書式を変更したりする方法を示しています。

Sub Example()
    ' セルに名前を付ける
    Range("A1").Name = "MyCell"
    ' 範囲に名前を付ける
    Range("A1:B3").Name = "MyRange"
    ' 名前を使用して値を設定する
    Range("MyCell").Value = 10
    ' 名前を使用して書式を変更する
    Range("MyRange").Font.Bold = True
    Range("MyRange").Interior.Color = RGB(255, 0, 0)
    ' メッセージボックスに値を表示する
    MsgBox Range("MyCell").Value
End Sub

上記の例では、まずセルA1に名前"MyCell"を付け、その後、名前を使用して値を設定しています。また、範囲A1:B3に名前"MyRange"を付け、その名前を使用して書式を変更しています。最後に、メッセージボックスにセルA1の値を表示しています。

まとめ

Nameプロパティ機能は、セルや範囲に名前を付けることで、後のプログラム内でわかりやすく参照することができます。具体的な使い方として、セルや範囲に名前を付けて値を設定したり、書式を変更したりすることができます。是非活用してください。