構文
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を事前に指定しましょう。
コメント