Excel 从一个工作表中导出一批列

Excel 从一个工作表中导出一批列

我是 VBA 的新手,正在尝试创建一个宏来将选定的列批量导出到 csv,然后增加并循环该选择以继续导出 csv 直到数据集结束。

我有一个包含 1872 列的大型 Excel 工作表。我想选择并将 1-6 列导出为 csv,然后对 7-12、13-18 列等重复此过程,直到整个工作表结束。

所有数据都在一张工作表中,任何行或列中都没有空值。

所以总的来说我希望得到 312 个 csv 文件。

我已经开始录制如下的宏,但不确定如何增加它并循环代码直到数据集结束。

非常感谢您对此问题的任何意见或帮助。

    Sub Macro2()
'
' Macro2 Macro
'

'
    Columns("A:F").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ChDir "C:\Users\Glen\AppData\Roaming\Microsoft\Templates"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\Glen\AppData\Roaming\Microsoft\Templates\EMN_001.csv", FileFormat:= _
        xlCSV, CreateBackup:=False
End Sub

答案1

以下是一些代码第一的 .csv文件:

Sub dural()
   Dim K As Long, N As Long, i As Long
   K = 1
   N = Cells(Rows.Count, K).End(xlUp).Row
   Close #1
   Open "C:\TestFolder\whatever.csv" For Output As #1
      For i = 1 To N
         st = Cells(i, K).Text
         For j = K + 1 To K + 5
            st = st & "," & Cells(i, j).Text
         Next
         Print #1, st
      Next i
   Close #1
End Sub

您将需要修改它来循环k获取其余文件。

相关内容