繁体   English   中英

VBA Excel 将文件导出为.csv 并将数据保存在正确的列中

[英]VBA Excel export the file as .csv with keeping data in the proper columns

我希望将.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 时,您现在会得到什么...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM