動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2004 ビルド12730.20236 Microsoft Store)
「TEXTJOIN関数 vba」
「エクセル マクロ Textjoin」
といった検索キーワードでのアクセスに気がつきました。
最近のExcelで使える、文字列の連結を行うTEXTJOIN関数をExcel VBAで利用するには、どのようなコードを書けばいいのか探していらしたのでしょう。
[スポンサードリンク]
TEXTJOINで配列の要素を連結するサンプル
以下のSubプロシージャを実行すると、文字列型の配列変数arrに格納された3つの要素「松」「竹」「梅」が、途中に「/」をはさみながら連結され、「松/竹/梅」とメッセージボックスに表示されます。
Sub TEXTJOIN関数をVBAで利用する_配列変数()
Dim arr(1 To 3) As String
arr(1) = "松"
arr(2) = "竹"
arr(3) = "梅" Dim joined_text As String
joined_text = WorksheetFunction.TextJoin("/", True, arr)
MsgBox joined_text
End Sub
Dim arr(1 To 3) As String
arr(1) = "松"
arr(2) = "竹"
arr(3) = "梅" Dim joined_text As String
joined_text = WorksheetFunction.TextJoin("/", True, arr)
MsgBox joined_text
End Sub
配列の要素を、
arr(1) = "松"
arr(2) = "" ' 空白文字列に変更
arr(3) = "梅"
としてから、実行した場合は、
松/梅
がメッセージボックスに表示され、
joined_text = WorksheetFunction.TextJoin("/", True, arr)
の行を、
joined_text = WorksheetFunction.TextJoin("/", False, arr)
に修正して実行した場合は、
松//梅
がメッセージボックスに表示されます。
TEXTJOINでセル範囲のデータを連結するサンプル
セルに入力されているデータを連結したい場合は、以下のSubプロシージャが参考になるでしょう。
Sub TEXTJOIN関数をVBAで利用する_セル範囲()
Dim joined_text As String
joined_text = WorksheetFunction.TextJoin("/", True, Range("A1:C1"))
MsgBox joined_text
End Sub
Dim joined_text As String
joined_text = WorksheetFunction.TextJoin("/", True, Range("A1:C1"))
MsgBox joined_text
End Sub
実行すると、アクティブなワークシートのA1:C1セルに入力されている文字列が、間に「/」をはさみながら連結されて、メッセージボックスに表示されます。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » TEXTJOIN関数をVBAで