【发布时间】:2012-11-09 21:45:06
【问题描述】:
我将数据复制到电子表格中,使用 VBA 对其进行格式化,然后将该表格保存到 CSV 文件中。
我使用以下代码:
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV
ws 是我保存的工作表。
这给了我一个逗号分隔的 CSV 文件。
我想将该工作表保存到以分号分隔的文件中。
我发现了以下内容:
- 转到开始>设置>区域和语言选项
- 点击自定义按钮
- 在列表分隔符旁边键入分号 (;)
我按照上面的步骤将代码更改为:
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV, Local:=True
我仍然得到一个逗号分隔的 CSV 文件作为输出。
我使用的是 Excel 2003,我的操作系统是 Windows XP。
【问题讨论】:
-
这是一种手动操作的方法; stackoverflow.com/a/7079703/246342 将分隔符替换为“;”和 ActiveSheet.UsedRange 的范围
-
非常感谢您的建议。但是当我尝试运行您的代码时遇到了问题。我的电子表格中有一些值,例如
1.0000000,当它被CStr(c.Value)转换为字符串时,它会自动四舍五入为1。你能建议如何处理它吗?谢谢:) -
为了保持格式,将
CStr(c.Value)替换为c.text -
非常感谢您的帮助:)