セル範囲の文字列を結合するユーザー関数

Excelには、「CONCATENATE」という、文字列を結合するワークシート関数があります。
CONCATENATE(文字列1,文字列2,…)
このように引数に文字列を指定します。文字列としてセルを指定することもできますが、一つの文字列に指定できるのは一つのセルです。
そこで、セル範囲を指定して、それぞれのセルの文字列を結合するユーザー定義関数「CONCATENATERANGE」を作ってみました。

Function CONCATENATERANGE(ParamArray Elements())
    Dim c, ub As Long
    Dim t As String
    Dim rng, rngs As Range
    ub = UBound(Elements())
    t = ""
    For c = 0 To ub
        Set rngs = Elements(c)
        For Each rng In rngs
            If Not IsEmpty(rng.Value) Then
                t = t & rng.Value
            End If
        Next
    Next c
    CONCATENATERANGE = t
End Function

「=CONCATENATERANGE(A1:C10)」のように引数にセル範囲を指定します。
「=CONCATENATERANGE(A1:B2,C3:D4,A5:B6)」のように複数のセル範囲を指定することもできます。

コメント

  1. […] 以前、紹介した「セル範囲の文字列を結合する関数」は次の通りです。 […]

  2. […] 以前、紹介した「セル範囲の文字列を結合する関数」は次の通りです。 […]

タイトルとURLをコピーしました