教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Join関数で配列の要素を結合させる方法を教えて!

f:id:m_kbou:20200420125241p:plain

配列の要素を結合させる方法について説明します。

 

 

構文

記述方法は以下の通りとなります。

Join([配列の要素],”[区切り文字]”)

[説明]:

Join関数は[配列の要素]で指定した配列要素を[区切り文字]で指定した区切り文字で結合します。[区切り文字]は「”」(ダブルクォーテーション)で囲みます。[区切り文字]は省力する事も可能ですが、省略すると半角スペースで区切ります。内容を纏めると、「[配列の要素]で指定した配列要素を[区切り文字]で指定した文字で結合して下さい。」との意味になります。

[記述例]:

MsgBox Join(配列, "-")
MsgBox Join(配列)

 

使い方

使い方について具体的に説明します。

区切り文字を指定した場合の結合方法

区切り文字を指定した場合の結合方法について説明します。

[プログラミング例]:

Sub サンプル()

  Dim 配列(3) As String

  配列(0) = "大山"
  配列(1) = "久保木"
  配列(2) = "岡田"
  配列(3) = "落合"

  MsgBox Join(配列, "-")

End Sub

「最初に配列:配列(3)を定義します。次に各配列要素に"大山"、"久保木"、"岡田"、"落合"を順番にセットします。最後にJoin関数を使用して配列:配列(3)を”-”を区切り文字として結合し、MsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210427182202p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210427182220p:plain

②結果は以下の様に表示されます。各配列要素が”-”で区切られるため、MsgBoxで「大山-久保木-岡田-落合」が表示されます。

f:id:m_kbou:20210427182231p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

区切り文字を指定した場合の結合方法についての説明は以上です。

 

区切り文字を省略した場合の結合方法

区切り文字を省略した場合の結合方法について説明します。

[プログラミング例]:

Sub サンプル()

  Dim 配列(3) As String

  配列(0) = "大山"
  配列(1) = "久保木"
  配列(2) = "岡田"
  配列(3) = "落合"

  MsgBox Join(配列)

End Sub

「最初に配列:配列(3)を定義します。次に各配列要素に"大山"、"久保木"、"岡田"、"落合"を順番にセットします。最後にJoin関数を使用して配列:配列(3)を区切り文字省略で結合し、MsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210427182416p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210427182442p:plain

②結果は以下の様に表示されます。各配列要素が半角スペースで区切られるため、MsgBoxで「大山 久保木 岡田 落合」が表示されます。

f:id:m_kbou:20210427182454p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

区切り文字を省略した場合の結合方法についての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

今回はJoin関数を使用した配列要素の結合方法について説明しました。テストデータやシュミレーションデータ等を作成する場合に有効活用できると思います。是非活用下さい。