我在Excel-VBA中制作了一个宏:
问题是,一旦文件关闭,数据就不再以列分隔。但它的逗号分隔并连接成一列。
奇怪的是,手动关闭最近创建的csv文件(而不是在VBA中关闭它)解决了这个问题,因为再次打开它时数据仍然在列中。。
我在这里尝试做的是在VBA中保存/关闭文件,并将数据保存在列中。
这是一个例子:
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
然后关闭" 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
此处自动关闭文件。以下是手动打开时的结果:
答案 0 :(得分:3)
这对我有用:
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