構文
構文は以下の通りです。
WorksheetFunction.Concatenate(文字列1, 文字列2, ... , 文字列N)
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Concatenate関数は、2つ以上の文字列を結合して表示できる関数です。この関数は、与えられた文字列を順番に結合して、1そのうちの連結された文字列を返します。文字列1, 文字列2, ... , 文字列Nには、結合したい文字列やセルの値を指定します。最大255個の文字列を結合できます。
プログラミング例
具体的なプログラミング例を紹介します。
(例1)簡単な文字列の結合
Sub 文字列結合例1()
Dim 結果 As String
結果 = WorksheetFunction.Concatenate("こんにちは", "、", "世界")
MsgBox 結果 '「こんにちは、世界」と表示されます。
End Sub
Dim 結果 As String
結果 = WorksheetFunction.Concatenate("こんにちは", "、", "世界")
MsgBox 結果 '「こんにちは、世界」と表示されます。
End Sub
上記のプログラムは、「こんにちは」と「、」、「世界」という3つの文字列を結合しています。結果として、「こんにちは、世界」という文字列がでMsgBox表示されます。
(例2)セルの値結合
Sub 文字列結合例2()
Dim 結果 As String
Dim 名前 As String
Dim 挨拶 As String
名前 = Range("A1").Value 'セルA1に名前が入力されていると仮定します
挨拶 = "さん、こんにちは"
結果 = WorksheetFunction.Concatenate(名前, 挨拶)
MsgBox 結果 '例:「太郎さん、こんにちは」と表示されます。
End Sub
Dim 結果 As String
Dim 名前 As String
Dim 挨拶 As String
名前 = Range("A1").Value 'セルA1に名前が入力されていると仮定します
挨拶 = "さん、こんにちは"
結果 = WorksheetFunction.Concatenate(名前, 挨拶)
MsgBox 結果 '例:「太郎さん、こんにちは」と表示されます。
End Sub
上記のプログラムは、セルA1に入力された名前と、「さん、こんにちは」という文字列を結合しています。 結果はMsgBox表示され、例えばA1「太郎」と入力されていれば「太郎さん、こんにちは」 と表示されます。
(例3)数値と文字列を結合
Sub 文字列結合例3()
Dim 数値 As Integer
Dim 結果 As String
数値 = 123
結果 = WorksheetFunction.Concatenate("あなたの番号は ", 数値, " です。")
MsgBox 結果 '「あなたの番号は 123 です。」と表示されます。
End Sub
Dim 数値 As Integer
Dim 結果 As String
数値 = 123
結果 = WorksheetFunction.Concatenate("あなたの番号は ", 数値, " です。")
MsgBox 結果 '「あなたの番号は 123 です。」と表示されます。
End Sub
上記のプログラムは、数値と文字列を結合しています。数値も自動的に文字列に変換されるため、このように数値と文字列を進めても問題ありません。
まとめ
Concatenate関数は、2つ以上の文字列を結合して表示できる関数です。結合する文字列は直接指定するか、セルの値を参照して使用できます。数値も問題なく文字列として結合されます。