【问题标题】:Conversion of csv to xslx and adding column using macro将 csv 转换为 xlsx 并使用宏添加列
【发布时间】:2015-05-03 12:11:25
【问题描述】:

我有一个包含大约 400 个 CSV 格式文件的列表,我想将它们转换为 XLSX 格式。我还想在转换时在左侧添加一个新列,并且只想将文件名的前 8 个字符添加到新添加的列中。假设文件名为“TZ125250 April 26 2015.csv”,则应将TZ125250 添加到第一列,直到电子表格中存在数据的最后一行,并应保存为“TZ125250 April 26 2015.xlsx”,大多数 CSV 文件的数据大约为 200000 行。我使用的代码是

Sub CSVtoXls()

 Dim CSVfolder As String
 Dim XlsFolder As String
 Dim fname As String
 Dim wBook As Workbook

 CSVfolder = "C:\csvfolder\"
 XlsFolder = "C:\xlsFolder\"

 fname = Dir(CSVfolder & "*.csv")

 Do While fname <> ""
    Set wBook = Workbooks.Open(CSVfolder & fname, Format:=6, Delimiter:=",")

    Cells.Select
    Cells.EntireColumn.AutoFit
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

    wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormat
    wBook.Close False
    fname = Dir
 Loop

End Sub

如果我删除此部分,此代码会将 CSV 转换为 XLSX

Cells.Select
Cells.EntireColumn.AutoFit
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    ThisWorkbook.FileFormat 更改为xlWorkbookDefault

    【讨论】:

    • 如果我删除额外的代码,将 csv 转换为 xlsx 工作正常,但我正在寻找添加额外的列并添加前 8 个字符
    猜你喜欢
    • 1970-01-01
    • 2016-04-03
    • 2013-01-25
    • 2013-07-15
    • 2018-08-27
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多