我是 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
获取其余文件。