从结束VBA中删除回车符(alt + enter)

时间:2018-06-14 08:30:45

标签: excel vba excel-vba

代码:

Sub removeEndingCarriageReturns()
    Dim Rng As Range
    Dim inputRange As Range
    On Error Resume Next
    Set inputRange = Application.Selection
    Set inputRange = Application.InputBox("Range", "Remove Ending Carriage Returns", inputRange.Address, Type:=8)
    For Each Rng In inputRange
        Rng.Value = Replace(Rng.Value, Chr(10), " ")
    Next
End Sub

这非常适合将每次回车转换为空间("")。我想要的是,代码应该只转换最后的回车符。我怎么能找到结束回车?

选择范围:
enter image description here

单元格B3B6在结尾处有回车符,我想使用vba代码删除。

2 个答案:

答案 0 :(得分:2)

只检查最后一个字符是否为CR,如果是,则删除它。

If Right$(Rng.Value, 1) = Chr(10) Then 
    Rng.Value = Left$(Rng.Value, Len(Rng.Value) - 1)
End If

答案 1 :(得分:2)

一种方法是使用Like运算符检查CR是否在最后

If Rng Like "*" & Chr(10) Then
    Rng.Value = Replace(Rng.Value, Chr(10), " ")
End If