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

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)」のように複数のセル範囲を指定することもできます。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報