[VBA] Join関数で配列要素を結合します

 今日は山梨県にある小夜子さんの別荘でこの記事を書いてます。
 今年の夏も富士山を眺めながらお友達と愉快に過ごしました。
 でもそろそろ「日本の夏、こばとの夏」が終わってしまいますね~。もちろん秋には秋の楽しみがあるんですけど、やっぱり夏が一番ですよね。え? VBA? そんなに慌てなくても、ちゃんと今から解説しますよ。
 

Join関数で配列要素を結合します

 そんなわけで、今回は配列の要素を全て結合する Join関数 について説明します。特に難しいことは何もないですけど、配列の操作をひと通り覚えておくとプログラミングの幅が広がります。Join関数を使うときは

Join(結合元データ, [デリミタ])

と書きます。結合元データには 1 次元配列要素を指定するんですけど、配列なら何でもいいってわけじゃなくて、中身は文字列じゃなきゃダメです。数字とか真偽値とか変なものを入れるとエラーになるので気をつけましょう。要するに Join は文字列同士をくっつける関数だと覚えておけば間違いありません。デリミタ(区切り文字)は結合する文字の間に入る記号です。「。」でも「、」でも「接着剤」でも、好きな文字を指定してくださいな。省略すると文字の間に半角スペースが入りますよ。それでは、サンプルコードを見てみましょ~。

'[VBA] Joinで配列要素を結合するプロシージャ

Sub Join_Words()

  Dim myword(3) As String
  Dim mysentence As String

  myword(0) = "VBA"
  myword(1) = "ハイマスター"
  myword(2) = "こばとちゃん"
  myword(3) = "参上!"

  'Joinで配列要素を結合
  mysentence = Join(myword)

  Debug.Print mysentence

End Sub

 Join_Words() を実行するとイミディエイトウィンドウに

 VBA ハイマスター こばとちゃん 参上!

と表示されます。デリミタを省略しているので、文字の間に半角スペースが空いちゃってますね。隙間をなくしたい場合はデリミタに空白文字列を意味する "" を指定します。

mysentence = Join(myword,"")

と書き直して実行すると

 VBAハイマスターこばとちゃん参上!

と表示されます。


 

コメントをどうぞ

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

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