【VBA】可変長文字列と固定長文字列

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

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

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

【VBA】可変長文字列

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

【VBA】固定長文字列

 固定長文字列を宣言するときは 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 文字ぶんをスペースで埋めることになります。

Excel VBA
Excel VBA 表計算とプログラミング学習サイト

コメント

タイトルとURLをコピーしました