[VBA] 文字列型変数 (String) 可変長文字列と固定長文字列

 この記事では VBA の 文字列型変数 (String) について解説します。
 

変数のデータ型⑧ 文字列型変数 (String)

 文字列型変数 (String) には文字列を格納します。
 文字列には 可変長文字列固定長文字列 の 2 種類がありますが、一般的には可変長を用いるので、よほど特殊なことをするのでない限り固定長について覚える必要はないと思います(もちろん解説はしておきます)。

可変長文字列

 String にデータを入れるときは文字列を "(ダブルクォーテーション)で括ります。

'[VBA] 可変長文字列サンプルコード-1

Sub String_Test_1()

  Dim mystr As String

  mystr = "Kobato"

  Debug.Print mystr

End Sub

 String_Test_1() を実行すると Kobato が表示されます。
 2 つ以上の文字列データを結合するときは & を使います。

'[VBA] 可変長文字列サンプルコード-2

Sub String_Test_2()

  Dim mystr1 As String
  Dim mystr2 As String

  mystr1 = "こばとちゃん"
  mystr2 = "と"
  mystr3 = "かばねちゃん"

  Debug.Print mystr1 & mystr2 & mystr3

End Sub

こばとちゃんとかばねちゃん

 String_Test_2() を実行すると「こばとちゃんとかばねちゃん」が表示されますよ。え? かばねちゃんが誰かって? こばとの姉です。大学で氏姓(うじかばね)について研究してるから「かばねちゃん」と呼ばれてます。もちろん本名ではありませんよ。あくまで呼び名です ... て、そんなことはどうでもいいのです。次は固定長文字列について説明します。
 

固定長文字列

 固定長文字列を宣言するときは String の後に *(アスタリスク)と文字数を記述します。

'[VBA] 固定長文字列サンプルコード

Sub String_Test_3()

  Dim mystr As String * 3

  mystr = "ABCDE"

  Debug.Print mystr

End Sub

ABC

 String_Test_3() では mystr の文字数を 3 に設定しているので、"ABCDE" という文字を入れても 3 文字分の ABC しか表示されません。逆に "A" という 1 文字だけ入れると、余った 2 文字ぶんをスペースで埋めることになります。

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)