我希望将 .csv 文件与列一起保存,就像它们在我母亲的工作簿中一样。
我使用了以下代码:
Application.DisplayAlerts = False
For Each Wksht In ActiveWorkbook.Worksheets
myPath = ThisWorkbook.Path & "\"
ActiveWorkbook.Sheets(Wksht.Index).Copy
ActiveWorkbook.SaveAs Filename:=myPath & "Address list - NEW", FileFormat:=xlCSV,
CreateBackup:=False
ActiveWorkbook.Close
Next Wksht
Application.DisplayAlerts = True
但是,我并没有将清晰的数据按列及其标题标题分隔开,而是将所有内容都放在一列中。
我在这里缺少什么?
最佳答案
请尝试下一种打开方式(也@VBasic2008):
Workbooks.OpenText Filename:=myPath & "Address list - NEW", Origin _
:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, Tab:=False, Comma:=True
如果不行,请测试VBasic2008推荐的解决方案:
Workbooks.Open Filename:=myPath & "Address list - NEW", Format:=2
如果上述解决方案不起作用(未经测试),或者即使它们有效但需要替代方案,请尝试下一种方法来拆分结果(一列)开口:
Private Sub testTestTextToColumns()
Dim i As Long, sh As Worksheet, rng As Range
Set sh = ActiveSheet
Set rng = sh.Range("A:A")
rng.TextToColumns Destination:=sh.Range("A:C"), Comma:=True, FieldInfo:=Array(Array(1, 2), Array(1, 2), Array(1, 2))
End Sub
注意:第二个代码应该处理默认的打开结果。尝试打开 csv 时您现在会得到什么...
关于excel - VBA Excel 将文件导出为 .csv,并将数据保留在正确的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65978311/