vbaにはJoinという関数があるが、配列にしか使えない。
そこで汎用的なjoinを作成した。
join
' rng 結合したい範囲
' delim 結合文字
Function join(rng As Range, Optional delim As String = ",") As String
Dim result As String
Dim cell As Variant
result = ""
For Each cell In rng
result = result & delim
Next
join = chop(result, Len(delim))
End Function
ついでに、末尾を削除する関数
chop
' str 入力文字列
' num 末尾から削除したい文字数
Function chop(str As String, Optional num As Integer = 1) As String
chop = Left(str, Len(str) - num)
End Function
ワークシート上で以下のように使用してもいいね
=join(A1:A5)