在Excel单元格中删除换行符、回车和所有前导空格

6

我不知道发生了什么,但我的单元格中包含回车符号。我已经尝试了TRIM(), CLEAN(), =SUBSTITUTE(A1,CHAR(10),"")以及一些宏来去掉这些字符。

唯一的方法是使该单元格活动,单击最后一个字符附近的删除键,然后按回车键。

我是否遗漏了什么?有没有编程方式可以解决?


你看过这个吗? - Siddharth Rout
1
你试过Alt160的技巧吗? - Siddharth Rout
4
你有什么问题要删除的最后一个字符的代码是什么?你可以循环遍历每个字符并使用“debug.print”打印出它们的代码,这样有助于确定如何删除它们的方法。 - Tim Williams
你能和我们分享一个样例吗? - glh
这是针对单元格本身的吗?使用=clean(..)不起作用,因为它使用另一个单元格? - glh
显示剩余3条评论
4个回答

15
以下宏将使用 Trim()Clean() 函数删除所有不可打印字符,以及开头和结尾的空格:
Sub Clean_and_Trim_Cells()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Dim s As String
    For Each c In ActiveSheet.UsedRange
        s = c.Value
        If Trim(Application.Clean(s)) <> s Then
            s = Trim(Application.Clean(s))
            c.Value = s
        End If
    Next
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

2

更简单的解决方案是使用查找替换功能:按下alt和数字键盘上的010(在10键小键盘上)来进行查找,然后用空格替换。

您可以将此作为批量替换操作执行,只需突出显示包含回车符的单元格即可。


我尝试了alt+10,但没有起作用。不知道alt+010,它完美地工作了。谢谢! - James L.

1
我尝试过。
ws.Cells(i, j) = Replace(ws.Cells(i, j), Chr(13), "")

并且成功。


0
步骤1:选择整个列 步骤2:按下Ctrl+H 步骤3:在“查找内容”框中输入“Ctrl+J” 步骤4:点击“全部替换”
注意:这里的Ctrl+J捕捉回车换行的单元格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接