3

У меня есть книга Excel, в которой есть около 125 листов, и мне нужно иметь возможность сохранить каждый из этих 125 листов в CSV-файлы (так что я получаю в общей сложности 125 CSV-файлов)

В настоящее время я могу сделать это вручную (файл> сохранить как> тип файла CSV), но только таким образом:1-й лист -> 1-й CSV 2-й лист -> 2-й CSV. , и так далее

Есть ли способ сохранить всю книгу за один раз, в отличие от сохранения только активного листа, а затем перейти к следующему ...?

1 ответ1

0

Из « Использовать макрос VBA», чтобы сохранить каждый лист Excel как отдельную книгу от Sorceri:

Сохранение рабочего листа в существующей рабочей книге и создание новой рабочей книги с копией

Dim path As String
Dim dt As String
dt = Now()
path = CreateObject("WScript.Shell").specialfolders("Desktop") & "\Calendars " & Replace(Replace(dt, ":", "."), "/", ".")
MkDir path
Call Shell("explorer.exe" & " " & path, vbNormalFocus)

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets 'SetVersions
    If ws.Name <> "How-To" And ws.Name <> "Actg_Prd" Then
        Dim wb As Workbook
        Set wb = ws.Application.Workbooks.Add
        ws.Copy Before:=wb.Sheets(1)
        wb.SaveAs path & ws.Name, Excel.XlFileFormat.xlOpenXMLWorkbook
        Set wb = Nothing
    End If
Next ws

Другое решение можно найти в разделе Создание рабочей книги из каждого рабочего листа в вашей рабочей книге:

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

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