VBA入門
RangeのAddressプロパティ

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日:2021-10-25

第84回.RangeのAddressプロパティ


Addressプロパティは、セル範囲(Rangeオブジェクト)の参照範囲を表す文字列の値を返します。
引数により、参照方法($の付いた絶対参照)や形式(R1C1形式)を指定できます。


Addressは、マクロVBAの中で処理の一環として使う事はあまり多くないかもしれませんが、
VBA作成過程ではRangeオブジェクト変数のアドレス確認に使う事もあり、必須習得プロパティになります。


Addressプロパティの構文

Range.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

RowAbsolute

行部分の参照を絶対参照として返すには、True を指定します。
既定値は True です。

ColumnAbsolute

列部分の参照を絶対参照として返すには、True を指定します。
既定値は True です。

ReferenceStyle

参照形式を指定します。
xlA1 : A1 形式の参照で返されます。
xlR1C1 : R1C1 形式の参照で返されます。
既定値は xlA1 です。

External

外部参照を返すには、True を指定します。
ローカル参照を返すには、False を指定します。
既定値は False です。

RelativeTo

引数 RowAbsolute と引数 ColumnAbsolute の両方に False が指定されていて、
引数 ReferenceStyle に xlR1C1 が指定されると、相対参照の開始点を含める必要があります。
この引数は、参照の開始点を定義する Range オブジェクトを使用します。


名前付き引数になります。

戻り値
Rangeオブジェクトの参照範囲を表す文字列型 (String) の値を返します。


Adressの使用例

MsgBox Range("A1").Address
$A$1」と表示されます。

MsgBox Range("A1").Address(False, False)
A1」と表示されます。

MsgBox Range("A1").Address(, , xlR1C1)
R1C1」と表示されます。

MsgBox Range("A1").Address(External:=True)
[ブック名]シート名!$A$1」と表示されます。

MsgBox Range("A1").Address(False, False, xlR1C1, , Range("B2"))
R[-1]C[-1]」と表示されます。


他のオブジェクトにセル範囲を渡す場合

対象のオブジェクが存在するシートと、そのオブジェクト内で参照しているセル範囲のシートが違う事があります。
むしろ違う場合の方が多いでしょう。
そもそも、シート以外に含まれているオブジェクトもあります。
代表的なオブジェクトとしてグラフを考えてもらうと良いでしょう。

そのようなオブジェクトに、セル範囲を文字列として渡す場合は、
External:=True
この指定をしてシート名が付加した状態で使う場合があります。
ただし、ブック名まで付加されていることで正しく動作しないような場合もありますので注意してください。
マクロVBA入門の少し先の回になりますが、以下ではReferenceStyle、Externalを使っています。
第96回.グラフ(Chart)
・グラフ(Chart)関連のオブジェクト群 ・単純な棒グラフの作成 ・2軸グラフの作成と、グラフタイトルをA1セルにリンク ・マクロVBAでのグラフの扱いについて

Rangeのプロパティは非常に沢山あります。
マクロVBA入門で重要なプロパティは一通り紹介していますが、他のプロパティにも目を通しておくと良いでしょう。
Rangeのプロパティ一覧 ・・・ 詳細解説ページへのリンクあり
・Excel2010までのRangeオブジェクトのプロパティ一覧 ・Excel2016で追加されたRangeオブジェクトのプロパティ一覧 ・スピルにより追加されたRangeオブジェクトのプロパティ一覧




同じテーマ「マクロVBA入門」の記事

第81回.総合練習問題9
第82回.RangeのResizeプロパティ
第83回.RangeのOffsetプロパティ
第84回.RangeのAddressプロパティ
第85回.結合セルの扱い
第86回.総合練習問題10
第88回.並べ替え(Sort)
第89回.オートフィルター(AutoFilter)
第90回.フィルターオプションの設定(AdvancedFilter)
第91回.条件付き書式(FormatCondition)
第126回.入力規則(Validation)


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ