将单元格分隔的csv文件保存在vba中

时间:2015-03-24 09:40:58

标签: excel vba csv file-format

我有一个包含两列的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

1 个答案:

答案 0 :(得分:0)

问题是列表分隔符。我不得不使用";"而不是","。我可以通过在保存工作簿时添加Local:= True来配置它。您还可以强制列表分隔符为";"使用另一个命令。