Hirdetés

Új hozzászólás Aktív témák

  • sztanozs

    veterán

    válasz mckay #49235 üzenetére

    O365: TEXTJOIN függvény

    Makró megfelelője (direkt fordítva elnevezve, hogy ne ütközzön):
    Public Function JoinText(Delimiter As String, SkipEmpty As Boolean, ParamArray Source() As Variant) As String
    Dim AllResults, Value, Area As Range, CRange
    Set AllResults = CreateObject("System.Collections.ArrayList")
    For Each Value In Source
    If TypeName(Value) = "Range" Then
    For Each Area In Value.Areas
    If Area.Count > 1 Then
    For Each CRange In Area.Value2
    If Not (IsEmpty(CRange) And SkipEmpty) Then AllResults.Add CRange
    Next
    Else
    If Not (IsEmpty(Area.Value2) And SkipEmpty) Then AllResults.Add Area.Value2
    End If
    Next
    ElseIf TypeName(Value) = "String" Then
    If Not (IsEmpty(Value) And SkipEmpty) Then AllResults.Add Value
    Else
    If Not (IsEmpty(Value) And SkipEmpty) Then AllResults.Add str(Value)
    If Err Then
    Err.Raise 2000, Description:="Invalid source data type provided"
    Err.Clear
    End If
    End If
    Next
    JoinText = Join(AllResults.ToArray(), ",")
    Set AllResults = Nothing
    End Function

Új hozzászólás Aktív témák