• ベストアンサー

AddressとAddressLocal 違い

エクセルvbaなのですが Sub test01() Debug.Print Range("a1").Address Debug.Print Range("a1").AddressLocal End Sub この二つの違いは何ですか? どちらも$A$1が返るのですが。 アドレスを取得したい場合、どちらを使った方がよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

.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にしておこう。

wovbnjcmxn8
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

http://www.excellenceweb.net/vba/object/range_member/layout/addresslocal.html 同じものみたい? ⇒よく使ったり見かけるのは、Address の方ですけど。

wovbnjcmxn8
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう