- ベストアンサー
AddressとAddressLocal 違い
エクセルvbaなのですが Sub test01() Debug.Print Range("a1").Address Debug.Print Range("a1").AddressLocal End Sub この二つの違いは何ですか? どちらも$A$1が返るのですが。 アドレスを取得したい場合、どちらを使った方がよろしいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
.Addressは、Excel既定のアドレス表示を返します。 A1とか$A$1、 ReferenceStyle:=xlR1C1で、 R[1]C[1]とかR1C1 です。 .AddressLocalは、ユーザーの言語での範囲参照を返します。 日本語は、既定の英語表示と同じなので、AddressもAddressLocalも同じことは質問者の言うとおりです。 ユーザーの言語のアルファベットが英語と同じとは限りません。キリル語とかギリシャ語では列の表示が違ってくるでしょう。 これらの言語の英語と違う文字は書きにくいので書きませんかが。 また、既定では行はRowでR、列はColumnでCですが、ドイツ語では、ZeileでZ、列はSpalteでSになるでしょう。 だから、 日本で、Addressでとった参照C1は、ドイツ語でもロシア語でも同じC1を返しますが、AddressLocalでとった参照C1は、ドイツ語環境ではC1だが、ロシア語環境ならΓ1でしょう。 また、日本でReferenceStyle:=xlR1C1としてとったAddressLocalの参照はR1C1のようになるが、ドイツ語環境ではZ1S1になるということです。 したがって、 他の言語のユーザーに使わせるなら、AddressLocalを使った方がいい(かもしれない)が、自分だけしか使わない、日本語環境でしか使わないというなら、日本語環境は、既定の英語表示と同じなので、どちらでも同じです。書くのに短いAddressにしておこう。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
http://www.excellenceweb.net/vba/object/range_member/layout/addresslocal.html 同じものみたい? ⇒よく使ったり見かけるのは、Address の方ですけど。
お礼
ありがとうございました。
お礼
ありがとうございました。