シート上でjoin関数っぽく振舞うユーザー定義関数(失敗談)

先日は、シート上でsplit関数っぽく振舞うユーザー定義関数を作ってみた。
infoment.hatenablog.com

それなりに面白かったので、今度は調子に乗って、シート上でjoin関数っぽく振舞うユーザー定義関数を作ってみた。
f:id:Infoment:20190606221118p:plain

考え方は前回と同じ。選択範囲について各セルの文字列を、指定した文字列で結合していく。

Function SubJoin(target_range As Range, _
        Optional delimiter As String = ",") As String

    Dim i As Long
    Dim arr() As Variant
    ReDim arr(1 To target_range.Count)
        For i = 1 To target_range.Count
            arr(i) = target_range.Item(i)
        Next

        SubJoin = Join(arr, delimiter)
End Function

複雑なことはしていないので、実にアッサリしている。
とここで、join関数がワークシート関数に存在しないことの確認が未だだったことに気づく。

f:id:Infoment:20190606221528p:plain

TEXTJOIN?嫌な予感がする。
f:id:Infoment:20190606221639p:plain

Split関数は無くても、join関数はあったのね。失敗!
(でも今回、TEXTJOIN関数の存在を知ることが出来た点は収穫でした)。

参考まで。