教えて!ExcelVBA!

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

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

f:id:m_kbou:20200420125241p:plain

 

 

構文

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

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

[説明]:

指定した一次元配列の要素を指定した区切り文字で結合します。

[配列] 任意の配列を記述します。
[区切り文字] 要素を区切る任意の区切り文字を記述します。
省略する事も可能で、省略すると半角スペースで区切ります。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Join(配列, "-")
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関数を使用した配列要素の結合方法について説明しました。テストデータやシュミレーションデータ等を作成する場合に有効活用できると思います。是非活用下さい。