我有一张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
我在这里缺少什么?非常感谢任何帮助。
答案 0 :(得分:1)
试试这个:
Sub TryThis()
Cells.Replace what:=vbCr, Replacement:=" "
Cells.Replace what:=vbLf, Replacement:=" "
End Sub
它应扫描工作表中的所有单元格,并用空格替换 ASCII10 和 ASCII13 。