在Excel中的一系列响应中的非空白单元格之间插入半冒号

时间:2016-06-13 16:03:23

标签: excel vba

只是一个简单的问题。我有一个电子表格,其中包含一列名称和一行多响应选项(下面的动物)。我想创建一个新列,显示所有非空白响应之间带分号的响应。

例如,如果约翰有一只蛇和一只猫,它会显示为蛇;猫。如果约翰有一只蛇,猫和兔子,它将显示为蛇;猫;兔子,但如果约翰只有一条蛇,那么就没有半冒号,只有蛇。所以基本上,在第一个或最后一个响应之前或之后没有分号,但只有在有多个时才进行重新分配。

如何轻松实现这一目标?

          Snake   Dog    Cat    Rabbit

约翰

艾琳

克里斯

1 个答案:

答案 0 :(得分:0)

怎么样:

Public Function Gather(rng As Range) As String
    Dim r As Range
    For Each r In rng
        Gather = Gather & " " & r.Value
    Next r
    Gather = Replace(Application.WorksheetFunction.Trim(Gather), " ", ";")
End Function

enter image description here