Как разделить файл excel на два файла

Добавить это приложение в закладки

Нажмите Ctrl + D, чтобы добавить эту страницу в избранное, или Esc, чтобы отменить действие.

Отправьте ссылку для скачивания на

Отправьте нам свой отзыв

Ой! Произошла ошибка.

Недопустимый файл. Убедитесь, что загружается правильный файл.

Ошибка успешно зарегистрирована.


Вы успешно сообщили об ошибке. Вы получите уведомление по электронной почте, когда ошибка будет исправлена.

Нажмите эту ссылку, чтобы посетить форумы.

Немедленно удалите загруженные и обработанные файлы.

Вы уверены, что хотите удалить файлы?

Введите адрес



  • Как разделить файл с помощью Excel разделителя документов?


    Прежде всего, вам нужно выбрать и добавить Excel файл для разделения двумя способами: перетащить ваш Excel файл в белую область с меткой «Нажмите или перетащите свой файл сюда» или нажмите на эту область, а затем выберите нужный файл Excel с помощью проводника. Как только файл будет добавлен, зеленый индикатор выполнения начнет расти. После завершения процесса можно нажать кнопку Сохранить, а затем загрузить файл результата Excel.


  • ⏱️
    Сколько времени занимает разделение Excel файла?


    Обычно этот Excel Document Splitter работает быстро для небольших файлов за считанные секунды.


  • 🛡️
    Безопасно ли разделять файл с помощью нашего бесплатного Excel Document Splitter?


    Да, ссылка для скачивания файла результат Excel будет доступна только вам. Загруженный файл будет удален через 24 часа, а ссылка для загрузки перестанет работать по истечении этого периода времени. Никто не имеет доступа к вашему файлу. Разделитель документов Excel абсолютно безопасен.


  • 💻
    Могу ли я разделить файл Excel на Linux, Mac OS или Android?


    Да, вы можете использовать наш бесплатный Excel Document Splitter на любой операционной системе, в которой есть веб-браузер. Наш Excel Document Splitter работает онлайн и не требует установки программного обеспечения.


  • 🌐
    Какой браузер следует использовать для разделения Excel файла?


    Для разделения файлов можно использовать любой современный браузер Excel, например, Google Chrome, Microsoft Edge, Firefox, Opera или Safari.

  • На чтение 5 мин Просмотров 1.1к. Опубликовано 30.03.2022

    Такое бывает довольно часто, делаешь ежегодный отчет, а в нем 12 месяцев, соответственно 12 листов. И нужно разделить этот файл таким образом, чтобы каждый лист стал отдельным файлом.

    И конечно же, можно сделать это руками, но это крайне долго и неэффективно.

    Я продемонстрирую вам простой код Visual Basic, который выполнит задачу за вас.

    Содержание

    1. Делим файл Excel на несколько файлов по листам
    2. Делим файл Excel на несколько PDF файлов по листам
    3. Разделите только те рабочие листы, в которых содержится слово/фраза, на отдельные файлы Excel

    Делим файл Excel на несколько файлов по листам

    Допустим, у нас есть ежегодный отчет, в котором по листам расписаны показатели компании за каждый месяц. Как на картинке ниже:

    Код Visual Basic, который разделит таблицу на несколько файлов по месяцам:

    Sub SplitEachWorksheet() 
    Dim FPath As String 
    FPath = Application.ActiveWorkbook.Path 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 
    For Each ws In ThisWorkbook.Sheets
         ws.Copy
         Application.ActiveWorkbook.SaveAs Filename:=FPath & "" & ws.Name & ".xlsx"
         Application.ActiveWorkbook.Close False 
    Next 
    Application.DisplayAlerts = True 
    Application.ScreenUpdating = True 
    End Sub  

    Перед тем, как запустите этот код, сделайте следущее:

    1. Создайте новую папку, куда поместите результаты работы этого кода;
    2. А также, на всякий случай, сделайте копию оригинального файла.

    Теперь создайте функцию в Visual Basic и смело запускайте код.

    Этот код сам найдет путь до папки с файлом.

    Как он работает?

    Довольно просто, он открывает каждый лист и сохраняет его как отдельный файл с тем же названием.

    Куда поместить этот код?

    Пошаговая инструкция:

    • Щелкните на «Разработчик»;

    • Далее откройте VBA;

    • Правой кнопкой мышки на любой лист;.

    • Щелкните на «Insert» -> «Module»;

    • Поместите наш код в открывшееся окошко;

    • Теперь запустите код.

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

    Как я говорил ранее, имя файла такое же, как и имя листа.

    Также не забудьте сохранить файл с соответствующим расширением(.XLSM), так как мы используем функции Visual Basic.

    В коде я специально сделал так, чтобы вы не видели все что происходит и это вам не мешало. Вы можете исправить это если вам наоборот нужно видеть то, что происходит.

    Но также, опять повторюсь, обязательно сделайте копию вашего файла перед использованием функции! Потому что если работа Excel завершится из-за какой-либо ошибки или произойдет еще что-то неожиданное вы можете потерять свои данные!

    Делим файл Excel на несколько PDF файлов по листам

    Вот код для такого случая:

    Sub SplitEachWorksheet() 
    Dim FPath As String 
    FPath = Application.ActiveWorkbook.Path 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False   
    
    For Each ws In ThisWorkbook.Sheets
         ws.Copy
         Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath & "" & ws.Name & ".xlsx"
         Application.ActiveWorkbook.Close False 
    Next   
    
    Application.DisplayAlerts = True 
    Application.ScreenUpdating = True 
    End Sub  

    И снова, не забудьте сначала создать папку и обязательно сделать копию оригинального файла. Код разделит вашу табличку по страницам и создаст для каждой страницы отдельный PDF файл.

    Разделите только те рабочие листы, в которых содержится слово/фраза, на отдельные файлы Excel

    Бывают и такие ситуации, что отдельный файл нужно создать только для тех страниц, в названии которых есть определенный текст.

    Допустим, у вас есть страницы отчета за разные года, в названии каждого листа указан год и месяц. Но вам нужно сохранить только те листы, которые относятся к 2020 году. Как это сделать?

    Вот код Visual Basic:

    Sub SplitEachWorksheet() 
    Dim FPath As String 
    Dim TexttoFind As String 
    TexttoFind = "2020" 
    FPath = Application.ActiveWorkbook.Path 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False   
    
    For Each ws In ThisWorkbook.Sheets
         If InStr(1, ws.Name, TexttoFind, vbBinaryCompare) <> 0 Then
             ws.Copy
             Application.ActiveWorkbook.SaveAs Filename:=FPath & "" & ws.Name & ".xlsx"
             Application.ActiveWorkbook.Close False
         End If 
    Next   
    
    Application.DisplayAlerts = True 
    Application.ScreenUpdating = True 
    End Sub  

    Как вы могли заметить, прямо в коде, мы создали переменную и задали ей значение 2020.

    Затем этот код просто проходится по каждой странице и проверяет есть ли в имени нужная нам часть (то есть нужный год). А далее сохраняет отдельно только те листы, в имени которых он нашел совпадения.

    Если совпадения не будут найдены — результат будет 0.

    В этом коде используется цикл «Если/То». Если он находит нужное текстовое значение в имени листа, то сохраняет его отдельно, если не находит — просто пропускает.

    Сохранение листов книги как отдельных файлов

    Про сборку листов из нескольких книг в одну текущую я уже писал здесь. Теперь разберем решение обратной задачи: есть одна книга Excel, которую нужно «разобрать», т.е. сохранить каждый лист как отдельный файл для дальнейшего использования.

    save-sheets-as-files.png

    Примеров подобного из реальной жизни можно привести массу. Например, файл-отчет с листами-филиалами нужно разделить на отдельные книги по листам, чтобы передать затем данные в каждый филиал и т.д.

    Если делать эту процедуру вручную, то придется для каждого листа выполнить немаленькую цепочку действий (выбрать лист, правой кнопкой по ярлычку листа, выбрать Копировать, указать отдельный предварительно созданный пустой файл и т.д.) Гораздо проще использовать короткий макрос, автоматизирующий эти действия.

    Способ 1. Простое разделение

    Нажмите сочетание Alt+F11 или выберите в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), вставьте новый модуль через меню Insert — Module и скопируйте туда текст этого макроса:

    Sub SplitSheets1()
        Dim s As Worksheet
        For Each s In ActiveWorkbook.Worksheets    'проходим по всем листам в активной книге
            s.Copy       'копируем каждый лист в новый файл
        Next
    End Sub
    

    Если теперь выйти из редактора Visual Basic и вернуться в Excel, а затем запустить наш макрос (Alt+F8), то все листы из текущей книги будут разбиты по отдельным новым созданным книгам.

    Способ 2. Разделение с сохранением

    При необходимости, можно созданные книги сразу же сохранять под именами листов. Для этого макрос придется немного изменить, добавив команду сохранения в цикл:

    Sub SplitSheets2()
        Dim s As Worksheet
        Dim wb as Workbook
        Set wb = ActiveWorkbook
        For Each s In wb.Worksheets                                 'проходим во всем листам активной книги
            s.Copy                                                  'сохраняем лист как новый файл
            ActiveWorkbook.SaveAs wb.Path & "" & s.Name & ".xlsx"  'сохраняем файл
        Next
    End Sub
    

    Этот макрос сохраняет новые книги-листы в ту же папку, где лежал исходный файл. При необходимости сохранения в другое место, замените wb.Path на свой путь в кавычках, например «D:Отчеты2012» и т.п.

    Если нужно сохранять файлы не в стандартном формате книги Excel (xlsx), а в других (xls, xlsm, xlsb, txt и т.д.), то кроме очевидного изменения расширения на нужное, потребуется добавить еще и уточнение формата файла — параметр FileFormat:

    ActiveWorkbook.SaveAs wb.Path & "" & s.Name & ".xlsb", FileFormat:=50  
    

    Для основных типов файлов значения параметра FileFormat следующие:

    • XLSX = 51
    • XLSM = 52
    • XLSB = 50
    • XLS = 56
    • TXT = 42

    Полный список всех вариантов можно посмотреть в справке MSDN.

    Способ 3. Сохранение в новые книги только выделенных листов

    Если вы хотите раскидать по файлам не все листы в вашей книге, а только некоторые, то макрос придется немного изменить. Выделите нужные вам листы в книге, удерживая на клавиатуре клавишу Ctrl или Shift и запустите приведенный ниже макрос:

    Sub SplitSheets3()
        Dim AW As Window
        Set AW = ActiveWindow
        For Each s In AW.SelectedSheets
            Set TempWindow = AW.NewWindow    'создаем отдельное временное окно
            s.Copy                           'копируем туда лист из выделенного диапазона
            TempWindow.Close                 'закрываем временное окно
        Next
    End Sub
    

    Создавать новое окно и копировать через него, а не напрямую, приходится потому, что Excel не умеет копировать группу листов, если среди них есть листы с умными таблицами. Копирование через новое окно позволяет такую проблему обойти.

    Способ 4. Сохранение только выделенных листов в новый файл

    Во всех описанных выше способах каждый лист сохранялся в свой отдельный файл. Если же вы хотите сохранить в отдельный новый файл сразу группу выделенных предварительно листов, то нам потребуется слегка видоизменить наш макрос:

    Sub SplitSheets4()
        Dim CurW As Window
        Dim TempW As Window
        Set CurW = ActiveWindow
        Set TempW = ActiveWorkbook.NewWindow
        CurW.SelectedSheets.Copy
        TempW.Close
    End Sub
    

    Способ 5. Сохранение листов как отдельных PDF-файлов

    Этот способ чем-то похож на второй, но листы сохраняются не как отдельные книги Excel, а в формате PDF, что часто требуется, если никто не должен менять документ и увидеть ваши формулы. Обратите внимание, что:

    • для этого используется уже другой метод (ExportAsFixedFormat а не Copy)
    • листы выводятся в PDF с параметрами печати, настроенными на вкладке Разметка страницы (Page Layout)
    • книга должна быть сохранена на момент экспорта

    Нужный нам код будет выглядеть следующим образом:

    Sub SplitSheets5()
        Dim s As Worksheet
    
        For Each s In ActiveWorkbook.Worksheets
            s.ExportAsFixedFormat Filename:=ThisWorkbook.Path & "" & s.Name & ".pdf", Type:=xlTypePDF
        Next
    End Sub
    

    Способ 6. Готовый макрос из надстройки PLEX

    Если лень или нет времени внедрять все вышеописанное, то можно воспользоваться готовым макросом из моей надстройки PLEX:

    Ссылки по теме

    • Сборка листов из нескольких книг в одну
    • Что такое макросы, куда вставлять код на Visual Basic, как их использовать.

    Перейти к содержимому

    Порой при сравнении двух файлов (документов Excel) приходится переключаться между файлами, открытыми в разных окнах. Рассмотрим способ выведения двух окон на одном экране Excel, поскольку переключение между окнами процесс трудозатратный и довольно раздражающий.

    Для начала следует открыть оба файла. Названия файлов должны быть разными.

      После открытия перейдите в панели быстрого доступа на вкладку «Вид».Упорядочить окна

      Во вкладке «Вид» следует выбрать пиктограмму «Упорядочить все».

      После нажатия на пиктограмму «Упорядочить все» на экране появится окошко с контекстным меню, предлагающим выбор расположения окон:Расположения окон в документах

      • Расположение «рядом» — размещает окна рядом (столбцами);
      • Расположение «сверху вниз» — замещает окна сверху вниз (строками);
      • Расположение «слева направо» — размещает окна рядом слева направо;
      • Расположение «каскадом» — размещает окна одно на другом каскадом.

      После нажатия кнопки «ОК» окна выстроятся в нужном порядке.

        Чтобы вернуть окна к обычному виду, то есть каждый файл открыть в отдельном окне, достаточно кликнуть двойным щелчком мыши по верхнему краю окна (рамке окна).Открыть в разных окнах

        После двойного клика по рамке окна вернутся в прежнее положение.

        Понравилась статья? Поделить с друзьями:

        А вот еще интересные статьи:

      • Как разделить тысячи от сотен в excel
      • Как разделить текст по страницам в word
      • Как разделить текст по столбцам в excel с помощью одной формулы
      • Как разделить текст по столбцам в excel разделенный запятыми
      • Как разделить текст по столбцам в excel если нет разделителей

      • 0 0 голоса
        Рейтинг статьи
        Подписаться
        Уведомить о
        guest

        0 комментариев
        Старые
        Новые Популярные
        Межтекстовые Отзывы
        Посмотреть все комментарии