如何在Excel单元格中删除换行符和/或回车符

时间:2014-10-21 14:48:01

标签: excel vba

我有一张Excel表格,我需要将其转换为csv文件以导入数据库。 Excel工作表有一列单元格,其中一些单元格有返回字符,我想是因为我无法看到它的真实含义,导致我的csv文件有额外的记录应该是前一个记录集的一部分。我尝试了围绕它的Vba代码,但只获得了一些返回字符,代码如下。

Public Sub GetCarriageReturn()

Dim mString As String


    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With

    For i = 2 To lastRow
        mString = Cells(i, "B")
        LfPosition = InStr(mString, vbLf) 'Chr(10)
        'MsgBox LfPosition
        If LfPosition > 0 Then
            mNewString = Left(mString, LfPosition - 2) & " " & Mid(mString, LfPosition + 1, 20)
            Trim (mNewString)
            'Debug.Print mNewString
            Cells(i, "B").Value = mNewString
        End If

        CrPosition = InStr(mString, vbCr) 'Chr(10)
        'MsgBox CrPosition
        If CrPosition > 0 Then
            mNewString = Left(mString, CrPosition - 2) & " " & Mid(mString, CrPosition + 1, 20)
            Trim (mNewString)
            'Debug.Print mNewString
            Cells(i, "B").Value = mNewString
        End If
    Next i

End Sub

我在这里缺少什么?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub TryThis()
    Cells.Replace what:=vbCr, Replacement:=" "
    Cells.Replace what:=vbLf, Replacement:=" "
End Sub

它应扫描工作表中的所有单元格,并用空格替换 ASCII10 ASCII13