Стоп '= Объединить' код внизу списка / в первой пустой ячейке - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь связать воедино коды TaskID с "," между ними.Текущий код ниже.

Я бы хотел, чтобы код останавливался внизу активного списка / в первой пустой ячейке.Кроме того, чтобы выходные данные не включали "," после последней активной ячейки.

Function Combine(WorkRng As Range, Optional Sign As String = ", ") As String

'Update 20130815

Dim Rng As Range

Dim OutStr As String

For Each Rng In WorkRng

 If Rng.Text <> " " Then

 OutStr = OutStr & Rng.Text & Sign

 End If

Next

Combine = Left(OutStr, Len(OutStr) - 1)

End Function

1 Ответ

0 голосов
/ 23 мая 2019

Вы можете проверить пустоту заранее и выйти из цикла. Если вы вырезали не один символ, а длину вашей знаковой переменной, у вас все будет в порядке, без "," в конце.

Function Combine(WorkRng As Range, Optional Sign As String = ", ") As String
Dim Rng As Range
Dim OutStr As String
    For Each Rng In WorkRng
        If Rng.Text = vbNullString Then Exit For
        OutStr = OutStr & Rng.Text & Sign
    Next
Combine = Left(OutStr, Len(OutStr) - Len(Sign))
End Function
...