Excel 如何删除连接结果前后的空格、vbLf?

Excel 如何删除连接结果前后的空格、vbLf?,excel,vba,Excel,Vba,在第一个图像中输入数据,并在第二个H列中生成结果。 这里有一种连接方法,可以避免任何不必要的分隔符: Public Function StitchValues(rIn As Range) As String Dim r As Range, v As Variant StitchValues = "" For Each r In rIn v = r.Text If v <> "" Then If Stit

在第一个图像中输入数据,并在第二个H列中生成结果。


这里有一种连接方法,可以避免任何不必要的分隔符:

Public Function StitchValues(rIn As Range) As String
    Dim r As Range, v As Variant
    StitchValues = ""
    For Each r In rIn
        v = r.Text
        If v <> "" Then
            If StitchValues = "" Then
                StitchValues = v
            Else
                StitchValues = StitchValues & vbLf & v
            End If
        End If
    Next r
End Function
公共函数将值(rIn作为范围)缝合为字符串
变光r作为范围,v作为变型
缝合值=“”
对于rIn中的每个r
v=r.文本
如果v“那么
如果“缝合值=”,则
缝合值=v
其他的
缝合值=缝合值和vbLf&v
如果结束
如果结束
下一个r
端函数
因此,在H1中,您将输入:

=缝合值(B1:E1)

然后启用文字换行、调整行高等功能。

尝试以下方法:

=SUBSTITUTE(TRIM(SUBSTITUTE(A1,CHAR(10)," "))," ",CHAR(10))
或VBA等效物:

Sub test()
    With Range("D1:D10")
        .Replace Chr(10), " "
        .Value = Evaluate("INDEX(TRIM(" & .Address & "),)")
        .Replace " ", Chr(10)
        .WrapText = True
    End With
End Sub

现在读这篇文章嗨,格里耶什,问题是我用来连接单元格的分隔符:vbLfPost您当前的代码。谢谢您,加里,但是需要vbLf分隔符,因为在我的实际工作表中是电话号码。UDF在需要的地方插入vbLf,但不是在连接的开始或结束处。