【发布时间】:2015-03-24 09:40:58
【问题描述】:
我有一个包含两列的 Excel 工作表,如下所示:
53400 10
53480 1
53470 1
53460 1
53450 1
53440 1
我想使用 vba 宏保存一个新的 .csv 文件:
Application.SheetsInNewWorkbook = 1
Worksheets("CSV").Range("A:B").Copy
Workbooks.Add
ActiveSheet.Paste
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\file.csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Application.DisplayAlerts = True
Worksheets("CSV").Range("A:B").ClearContents
问题是我得到一个.csv 文件逗号分隔,像这样:
53400,10
53480,1
53470,1
53460,1
53450,1
53440,1
我想要的是一个.csv 文件,每个单元格中都有一个值,就像原始数据一样(我可以手动保存这样的东西):
53400 10
53480 1
53470 1
53460 1
53450 1
53440 1
【问题讨论】:
-
一个
.csv文件没有任何单元格!!!你到底想要什么? Excel 工作表?! -
我明白您的意思,但是如果您在 Microsoft Excel 中手动将文件另存为 .csv (macintosh),您会得到一个不带逗号但用单元格分隔的文件。我在这里更新了一个示例文件:link
-
我找到了答案:问题出在列表分隔符上。我不得不使用“;”代替 ”,”。我可以通过在保存工作簿时添加
Local:=True来配置它。您还可以强制列表分隔符为“;”使用另一个命令。
标签: excel vba csv file-format