使用VBA将数据保存在列中的数据

我在Excel-VBA中创build了一个macros:

  • 创build一个新的工作表
  • 将数据写入5列
  • 将该文件保存为CSV
  • closures文件

问题是,一旦文件closures,数据不再以列分隔。 但它是逗号分隔并连接成一个单一的列。

奇怪的是,手动closures最近创build的csv文件(而不是在VBA中closures它)解决了这个问题,因为当再次打开数据时,数据仍然在列中。

我在这里要做的是在VBA中保存/closures文件,并将数据保存在列中。

这是一个例子:

Sub test() Workbooks.Add Cells(1, 1) = "a" Cells(1, 2) = "a" Cells(1, 3) = "a" ActiveWorkbook.SaveAs filename:= "C:\Users\user\Desktop\File.csv", FileFormat:=xlCSV End Sub 

然后手动closures“File.csv”并再次打开它:

在这里输入图像说明

第二个例子:

 Sub test() Workbooks.Add Cells(1, 1) = "a" Cells(1, 2) = "a" Cells(1, 3) = "a" ActiveWorkbook.SaveAs filename:= "C:\Users\user\Desktop\File.csv", FileFormat:=xlCSV ActiveWorkbook.Close End Sub 

该文件在这里自动closures。 以下是手动打开的结果:

在这里输入图像说明

这适用于我:

 Sub test() Workbooks.Add Cells(1, 1) = "a" Cells(1, 2) = "a" Cells(1, 3) = "a" With ActiveWorkbook .SaveAs Filename:="C:\Users\user\Desktop\File.csv", FileFormat:=xlCSV, Local:=True .Close False End With End Sub