Удалить первый конкатат в пустую строку - PullRequest
2 голосов
/ 23 апреля 2020

в настоящее время с кодами ниже, вывод будет ~ abc~ etc~ etc~. Как мне удалить первый ~ . Таким образом, он должен начинаться с ab c сразу, а не ~ .

Function SpecialLookup(lookup_value As String, src_rng As Range, column_index As Long)

    Dim rng As Range
    Dim xResult As String
    xResult = ""
    For Each rng In src_rng
        If rng = lookup_value Then
            xResult = xResult & "~ " & rng.Offset(0, column_index - 1).Value
        End If
    Next
    SpecialLookup = xResult
End Function

Ответы [ 3 ]

4 голосов
/ 23 апреля 2020

Mid должен сделать трюк


SpecialLookup = Mid(xResult, 3, Len(xResult))
3 голосов
/ 23 апреля 2020

Мне нравится этот шаблон:

Function SpecialLookup(lookup_value As String, src_rng As Range, column_index As Long)
    Dim rng As Range
    Dim xResult As String, sep as String
    For Each rng In src_rng
        If rng = lookup_value Then
            xResult = xResult & sep & rng.Offset(0, column_index - 1).Value
            sep = "~ " '<<<<<
        End If
    Next
    SpecialLookup = xResult
End Function
2 голосов
/ 23 апреля 2020

другой вариант - IF:

Function SpecialLookup(lookup_value As String, src_rng As Range, column_index As Long)

    Dim rng As Range
    Dim xResult As String
    xResult = ""
    For Each rng In src_rng
        If rng = lookup_value Then
            If xResult = "" Then
                xResult = rng.Offset(0, column_index - 1).Value
            Else
                xResult = xResult & "~ " & rng.Offset(0, column_index - 1).Value
            End If
        End If
    Next
    SpecialLookup = xResult
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...