セルに名前を定義する(Nameプロパティ)

 セル範囲に名前を定義します。


 構文  Object.Name    設定/取得


 設定項目    内容
  Object      Rangeオブジェクト


 次のサンプルはセルA1のアクティブセル領域に「合計範囲」という名前を定義し、
その名前を利用してセルA1のアクティブセル領域を選択しています。


●サンプル1●

Sub NameSamp1()

    Range("A1").CurrentRegion.Name = "合計範囲"
    Range("合計範囲").Select
'   Range("合計範囲").Name.Delete             '-----(1)

End Sub


 名前ボックスに「合計範囲」と表示されているところに注目してください。なお、
定義した名前を削除するには、コメントアウトしてある(1)のように記述します。
 また、名前にはブック全体から参照できるものとそのワークシートでのみ参照
できるものの2種類あります。最初のサンプルで定義されたのは、ブック全体から
参照できる名前です。各ワークシートでのみ使用できる名前を定義するには、名前
の先頭に「ワークシート名!」を加えます。
 次のサンプル2を見てください。

●サンプル2●

Sub NameSamp2()

    With Range("A1").CurrentRegion
      .Name = .Worksheet.Name & "!合計範囲"
    End With

End Sub


 これで同じ名前で、ワークシート別に違うセル範囲を参照することができます。


●注意●

 Nameプロパティは、Rangeオブジェクトの下位オブジェクトであるNameオブジェクト
を参照しています。また、Nameオブジェクト自身はApplication、Workbook、および
Worksheetオブジェクトに含まれているNamesコレクションのメンバです。次に提示する
サンプル3はサンプル1と同じ動作をしますが、これによってそのことがよくわかると思
います。


●サンプル3●

Sub NameSamp3()

    ActiveWorkbook.Names.Add Name:="合計範囲", _
        RefersTo:=Range("A1").CurrentRegion  '--- Namesコレクションにメンバを追加
'   Application.Names("合計範囲").Delete     '--- Namesコレクションからメンバを削除

End Sub

Excel2000



戻る


Excel Word Access VBA! モーグ