如何使用vba保存分号分隔的csv文件?

use*_*952 12 excel vba

最近我需要将一些数据复制到电子表格中,使用VBA对其进行格式化,然后将该表格保存为CSV文件.我使用以下代码:

ws.SaveAs Filename:=filestr, Fileformat:=xlCSV
Run Code Online (Sandbox Code Playgroud)

ws是我保存的工作表.

这将给我一个逗号分隔的CSV文件.

但是,我想将该表保存为以分号分隔的文件.我做了一些谷歌搜索并找到了以下解决方案:

  1. 转到开始>设置>区域和语言选项
  2. 单击"自定义"按钮
  3. 列表分隔符旁边的分号(;)

我已按照上述步骤将代码更改为:

ws.SaveAs Filename:=filestr, Fileformat:=xlCSV, Local:=True
Run Code Online (Sandbox Code Playgroud)

但我仍然以逗号分隔的CSV文件作为输出.

我使用的excel版本是Excel 2003,我的操作系统是Windows XP

任何人都可以建议如何使用VBA保存分号分隔文件?

小智 19

我刚检查过这个因为有同样的问题.在这种情况下,Filename没有功能.

这对我有用:

With ActiveWorkbook
    .SaveAs Filename:="My File.csv", FileFormat:=xlCSV, Local:=True
    .Close False
End With
Run Code Online (Sandbox Code Playgroud)

在区域设置 - >; < - 作为列表分隔符.关闭时保存更改也很重要 - >使用关闭时必须使用False.

  • 就像一个魅力...但有必要设置".Close False"!谢谢 (2认同)

小智 -2

只需使用以下代码:ActiveWorkbook.SaveAs "My File.csv", xlCSV, Local:=True

(不要使用:文件名:=)

  • 使用或不使用“Filename:=”不会改变任何东西 (2认同)