使用VBA进行CSV文件格式化

时间:2015-05-04 20:44:02

标签: vba excel-vba excel

我正在使用下面的代码推出工作表,并将其保存为具有日期和值的特定格式的.csv。一切都很好,但上传的程序(我认为它是一个基于Oracle的数据库)给我一个列数不正确的错误。事实并非如此,这是我试图从流程中消除的一个常见错误。打开文件并手动应用格式化并保存文件被接受并加载。保存过程中是否有一些特定命令在保存.csv文件时会保留格式?也许它是Save AS。

谢谢!

Dim wsNT As Worksheet
Set wsNT = Worksheets("Upload")
Dim Box As String
Box = InputBox(WhatFile, "File Name", ToSave & "_#")

SaveToDirectory = "\\SomeFilePath\"
SaveToDirectory3 = "\\AnotherFilePath\"

wsNT.Copy

 Range(Cells(2, 1), Cells(Rows.Count, 8).End(xlUp)).NumberFormat = "MMMM YYYY"
 Range(Cells(2, 14), Cells(Rows.Count, 14).End(xlUp)).NumberFormat = "MMMM YYYY"
 Range(Cells(2, 7), Cells(Rows.Count, 7).End(xlUp)).NumberFormat = "###0.00_)"
 Range(Cells(2, 8), Cells(Rows.Count, 8).End(xlUp)).NumberFormat = "###0.00_)"


ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "\" & Box & ".csv", FileFormat:=xlCSV
ActiveWorkbook.SaveAs Filename:=SaveToDirectory3 & "\" & Box & ".csv", FileFormat:=xlCSV

ActiveWorkbook.Close savechanges:=True

1 个答案:

答案 0 :(得分:0)

原来问题在于我们试图加载的数值的格式化:而不是" ### 0.00 _)"我们使用" 0.00"