【问题标题】:Stop '=Combine' code at bottom of list/at first blank cell在列表底部/第一个空白单元格处停止“=组合”代码
【发布时间】:2019-05-23 13:06:52
【问题描述】:

我正在尝试将 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

【问题讨论】:

  • 请正确格式化您的代码

标签: excel vba string-concatenation


【解决方案1】:

您可以提前检查空虚并退出循环。 如果您不剪切一个字符,而是剪切符号变量的长度,那么最后没有“,”应该没问题。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多