我遇到的问题涉及到一个CSV文件,我正试图解析为一个Excel电子表格。Excel VBA - 错误解析日期,处理字符串
数据的例子如下: -
01/02/2015,MXP,0.4,150.00,Producing design document, 64111258
02/06/2015,IHM,0.8,210.00,"Maximilian dolce, lorem ipsum", 64111258
02/06/2015,AXSP,0.6,250.00,"Magnificent, thanks very much", 64111258
目前,这是我使用的解析数据的代码: -
Sub OpenCSV()
Dim filePath As String
Dim intChoice As Integer
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
intChoice = Application.FileDialog(msoFileDialogOpen).Show
rowIndex = 0
If intChoice <> 0 Then
filePath = Application.FileDialog(_ msoFileDialogOpen).SelectedItems(1)
Open filePath For Input As #1
Do Until EOF(1)
Line Input #1, LineFromFile
LineItem = Split(LineFromFile, ",")
Sheets("Sheet2").Cells(11, 2).Offset(rowIndex, 0).Value = LineItem(0) ' Date
Sheets("Sheet2").Cells(11, 2).Offset(rowIndex, 1).Value = LineItem(1) ' Code
Sheets("Sheet2").Cells(11, 2).Offset(rowIndex, 2).Value = LineItem(2) ' Hours
Sheets("Sheet2").Cells(11, 2).Offset(rowIndex, 3).Value = LineItem(3) ' Cost
Sheets("Sheet2").Cells(11, 2).Offset(rowIndex, 4).Value = LineItem(4) ' Description
rowIndex = rowIndex + 1
Loop
Close #1
End If
End Sub
的问题如下: -
- 日期(如2015年6月2日)被解析并转换到excel单元格的日期将最终为2015年6月2日。这不会一致发生,而是随机发生在数据集内的各种日期。
- CSV分隔符4将最终被错误地解析,其中“”在数据中,以及逗号;因此数据没有正确地转换到相关单元。
如何纠正这些错误?
如果导入CSV直接到Excel(没有VBA)你有同样的问题吗?如果你没有问题,你可以试着记录宏并修改它以满足你的需求。如果这不起作用,我可能会帮助解决第二个问题。但是你真的需要弄清楚什么时候#1碰巧确定它发生的原因。 – Benjamin