簡體   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