セルのアドレスを取得する(Addressプロパティ)

 対象のセル範囲のアドレスを文字列で取得します。引数は全部で5つあり、
その指定により結果の文字列は異なります。場合によって使いわけましょう。
引数ReferenceStyleの値については、次の表を参照してください。


・引数ReferenceStyleで指定する定数一覧(XlReferenceStyleクラス)

定数     値       内容             例
xlA1     1        A1形式の参照     A1:B2
xlR1C1   -4150    R1C1形式の参照   R1C1:R2C2


 構文  Object.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle,
                       External, RelativeTo)     取得のみ


 設定項目        内容
  Object          Rangeオブジェクト
  RowAbsolute     Trueで行の絶対参照(既定値)、Falseで相対参照 [省略可能]
  ColumnAbsolute  Trueで列の絶対参照(既定値)、Falseで相対参照 [省略可能]
  ReferenceStyle  参照形式の指定を定数で指定。既定値はxlA1 [省略可能]
  External        Trueで外部参照形式、Falseでローカル参照(既定値) [省略可能]
  RelativeTo      相対参照形式での基準となるRangeオブジェクトを指定 [省略可能]


 次のコードは、セルA1のアドレスを様々な参照形式で確認します。


●サンプル●
Sub AddressSamp1()

    Range("A1").Select
    Cells(2, 1).Value = "1:"
    Cells(2, 2).Value = ActiveCell.Address
    Cells(3, 1).Value = "2:"
    Cells(3, 2).Value = ActiveCell.Address(RowAbsolute:=False)
    Cells(4, 1).Value = "3:"
    Cells(4, 2).Value = ActiveCell.Address(ColumnAbsolute:=False)
    Cells(5, 1).Value = "4:"
    Cells(5, 2).Value = ActiveCell.Address(RowAbsolute:=False, _
        ColumnAbsolute:=False)
    Cells(6, 1).Value = "5:"
    Cells(6, 2).Value = ActiveCell.Address(ReferenceStyle:=xlR1C1)
    Cells(7, 1).Value = "6:"
    Cells(7, 2).Value = ActiveCell.Address(External:=True)
    Cells(8, 1).Value = "7:"
    Cells(8, 2).Value = ActiveCell.Address(ColumnAbsolute:=False, _
        RowAbsolute:=False, ReferenceStyle:=xlR1C1, Relativeto:=Cells(8, 2))

End Sub


●解説●
 それぞれ、次のような参照形式でアドレスを取得します。

1: 行列を絶対参照で取得
2: 行のみ相対参照で取得
3: 列のみ相対参照で取得
4: 行列を相対参照で取得
5: R1C1形式で取得
6: 外部参照形式で、ブック名とシート名も取得
7: セルB8からの相対参照で取得

Excel2000



戻る


Excel Word Access VBA! モーグ