我有一个需要使用Excel VBA转换为CSV的excel文件。使用逗号将Excel文件转换为CSV VBA
所以对于我得到了下面的代码:
Sub REPORT()
Dim ColNum As Integer
Dim Line As String
Dim LineValues() As Variant
Dim OutputFileNum As Integer
Dim PathName As String
Dim rowNum As Integer
'Create CSV file
PathName = Application.ActiveWorkbook.Path OutputFileNum = FreeFile
Open PathName & "\" & "Myfile" & ".csv" For Output Lock Write As #OutputFileNum
SheetValues = ActiveSheet.UsedRange
Range("A1").CurrentRegion.Select
With ActiveSheet.UsedRange
numbercolumns = .Columns.Count
End With
ReDim LineValues(1 To numbercolumns)
For rowNum = 1 To last
For ColNum = 1 To numbercolumns
LineValues(ColNum) = SheetValues(rowNum, ColNum)
Next
Line = Join(LineValues, ",")
Print #OutputFileNum, Line
Next
Close OutputFileNum
End Sub
我的问题是,当有在Excel文件中的任意单元格逗号。发生这种情况时,宏将单元格分成两部分,并将一部分移动到下一列以覆盖数据。
非常感谢
非常感谢。我喜欢你的想法 – fmmoraleda 2015-02-09 14:43:39
但为什么在单元格中有逗号?如果这是小数点分隔符,那么CSV应该使用“;”而不是“,”之间的值。如果逗号在字符串中,则值应该放在双引号之间。无需更改实际内容 – galinette 2015-02-10 08:48:33
嗨,如果用“#”替换“,”我怎么能在创建csv时恢复它? – fmmoraleda 2015-03-05 09:39:47