【问题标题】:Save cell separated csv file in vba在vba中保存单元格分隔的csv文件
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多