構文
Object.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
Address・・・・・・セルのアドレスを参照します。
RowAbsolute・・・・True:行の絶対参照(規定値) False:行の相対参照 【省略可能】 ColumnAbsolute・・True:列の絶対参照(規定値) False:列の相対参照 【省略可能】ReferenceStyle・・・参照形式の指定(A1形式 or R1C1形式) ※詳細は下記表 External・・・・・・True:外部参照形式 False:ローカル参照形式 【省略可能】 RelativeTo・・・・・基準となるオブジェクトを指定 【省略可能】
RowAbsolute・・・・True:行の絶対参照(規定値) False:行の相対参照 【省略可能】 ColumnAbsolute・・True:列の絶対参照(規定値) False:列の相対参照 【省略可能】ReferenceStyle・・・参照形式の指定(A1形式 or R1C1形式) ※詳細は下記表 External・・・・・・True:外部参照形式 False:ローカル参照形式 【省略可能】 RelativeTo・・・・・基準となるオブジェクトを指定 【省略可能】
Addressプロパティはセルやセル範囲のアドレスを文字列で取得します。
指定した引数によって取得するデータの内容が異なります。
指定した引数によって取得するデータの内容が異なります。
ReferenceStyleに指定する定数一覧(XlReferenceStyle列挙体)
| 定数 | 値 | 内容 |
| xlA1 | 1 | A1形式の参照 |
| xlR1C1 | -4150 | R1C1形式の参照 |
セルアドレスを取得するサンプルコード
Public Sub sample()
'■絶対参照(行列)
Debug.Print Range("A1").Address '$A$1
'■相対参照(行のみ)
Debug.Print Range("A1").Address(RowAbsolute:=False) ' A$1
'■相対参照(列のみ)
Debug.Print Range("A1").Address(ColumnAbsolute:=False) '$A1
'■相対参照(行列)
Debug.Print Range("A1").Address(RowAbsolute:=False, ColumnAbsolute:=False) 'A1
'■R1C1形式
Debug.Print Range("A1").Address(ReferenceStyle:=xlR1C1) 'R1C1
'■外部参照形式
Debug.Print Range("A1").Address(External:=True) '[Book1]Sheet1!$A$1
'■B3からの相対参照
Debug.Print Range("A1").Address(ColumnAbsolute:=False, RowAbsolute:=False, ReferenceStyle:=xlR1C1, Relativeto:=Range("B3")) 'R[-2]C[-1]
'■複数セル選択
Debug.Print Range("A1:A3").Address '$A$1:$A$3
End Sub
注意点
- 今回はシート名などは明示していませんのでActiveSheetから取得します。
- 別のシートや別のブックのセル範囲を取得する場合は、Worksheetsを事前に指定しましょう。



コメント