Excel:如何从单元格中删除所有换行符?

23

我想要移除单元格中的所有换行符,应该怎么做?


1
可能是如何使用VB或公式从Excel单元格中删除空行?的重复问题。 - Jean-François Corbett
5个回答

58

=清洗(A1)

清洗函数从文本中删除所有不可打印字符。-- Excel 帮助文档


1
如此简单干净的解决方案。 - KalenGi
这也会删除换行符(\n),不仅仅是回车符... - Pedro A

19

假设你的单元格在A1,你可以使用以下公式:

=SUBSTITUTE(A1,CHAR(10),"")

根据回车符的不同,您可能需要使用char(13)而不是char(10)


6
=SUBSTITUTE(A1,CHAR(10),"")改为=SUBSTITUTE(A1,CHAR(10)," "),将替换所有回车字符为一个空格。这样可以防止在删除回车字符时两个单词合并为一个。 - Petay87

3

选择单元格或多个单元格,在Excel菜单栏中点击数据/文本到列,选择第一个对话框页上的分隔选项,点击下一步按钮,除了其他内容以外取消勾选所有内容,并在旁边的字段中键入Ctrl + J(您看不到该框中的任何内容,但列布局图表将显示在换行符处进行拆分(它们不是回车符)...然后只需点击完成按钮即可。


3

=Clean(A1)

这个命令可以在Excel的公式选项卡下找到>文本。


该命令用于清除单元格中的非打印字符。

请删除此回答。 - slfan

0
Sub RemoveLineBreaks()
    Application.ScreenUpdating = False
    Dim rngCel As Range
    Dim strOldVal As String
    Dim strNewVal As String

    For Each rngCel In Selection
        If rngCel.HasFormula = False Then
            strOldVal = rngCel.Value
            strNewVal = strOldVal
            Debug.Print rngCel.Address

            Do

            strNewVal = Replace(strNewVal, vbLf, " ")

            If strNewVal = strOldVal Then Exit Do
                strOldVal = strNewVal
            Loop

            If rngCel.Value <> strNewVal Then
                rngCel = strNewVal
            End If
        End If
        rngCel.Value = Application.Trim(rngCel.Value)
    Next rngCel
    Application.ScreenUpdating = True
End Sub

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