• ベストアンサー

VBAについて。

現在VBAの勉強中なのですが、string型は値型と参照型どちらでも良いという認識でいいのでしょうか。 本には値型の例として説明されているのですが、ネットで調べてみるとstring型は参照型とされているので混乱しています。

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

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.3

Stringが参照型であるというのはVB.NET以降の話ではありませんか? VBAでは変数が値型か参照型かという言い方はあまり聞きませんが、たとえば下記のページでは値型になっていました。 Office TANAKA 「オブジェクトを入れる変数」

参考URL:
http://officetanaka.net/excel/vba/variable/11.htm
mzakom
質問者

お礼

わかりやすい説明ありがとうございます。 参考URLで理解できました

その他の回答 (2)

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.2

値型というのは値そのものを変数に格納するのに対し、参照型は値が格納されている「住所」が変数に格納されます。 String型がどちらなのかは分かりませんが、 例えば、 Dim str1 As String Dim str2 As String str1 = "ABC" str2 = str1 str2 = "XYZ" という処理を実行した時に、str1が"ABC"だったら値型、str1が"XYZ"だったら参照型 ということになるかと思います。

mzakom
質問者

お礼

わかりやすい説明ありがとうございます。

回答No.1

stringは文字列の型です。 で、文字とは絵ではなくて文字コードという特殊な値です。 実際に中に入っているのは文字数分の文字コードという値が入っています。 実際に使われる場合には文字コードを参照して該当する文字として出力されます。 つまり、たとえばstring型に半角英数の「1」が入っていたとしても、数値の1ではなくて、「1」に該当する文字コードの値(0x0031)が入っているのです。

関連するQ&A