EXCEL2016以降の関数をEXCEL2010に移植

EXCEL2010で使用できるように自作

 

Option Explicit

 

Function TEXTJOIN(Delimiter As String, ignore_empty As Boolean, ParamArray Data()) As Variant 'TEXTJOIN関数(EXCEL2010で使用できるように自作)

Dim i As Integer
Dim D As Range
 
TEXTJOIN = ""
For i = LBound(Data) To UBound(Data)
    If TypeName(Data(i)) = "Range" Then
            For Each D In Data(i)
                If D.Value <> "" Or ignore_empty = False Then
                        TEXTJOIN = TEXTJOIN & Delimiter & D.Value2
                End If
            Next
        ElseIf Data(i) <> "" Or ignore_empty = False Then
                    TEXTJOIN = TEXTJOIN & Delimiter & Data(i)
    End If
Next i
 
TEXTJOIN = Mid$(TEXTJOIN, Len(Delimiter) + 1)
 
End Function

以上。