Я очень новый пользователь VBA и пытаюсь создать макрос для пакетного экспорта выбранных столбцов в CSV, а затем увеличить и зациклить этот выбор, чтобы продолжить экспорт CSV до конца набора данных.

У меня есть большой лист Excel с 1872 столбцами. Я хочу выбрать и экспортировать столбцы 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 ответ1

0

Вот некоторый код для первого файла .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 чтобы получить остальные файлы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .