Как сохранить все листы Excel в PDF: подробное руководство с примерами

Экспорт таблиц Microsoft Excel в формат PDF — стандартная задача для бухгалтеров, аналитиков и студентов. Но когда речь идёт о документе с десятком листов, ручное сохранение каждого по отдельности превращается в мучение. К счастью, в Excel есть встроенные инструменты для пакетной конвертации, а также обходные пути для сложных случаев.

Многие пользователи не подозревают, что программа умеет экспортировать все листы сразу — не только активный. При этом результат можно получить как в виде одного многостраничного PDF, так и набора отдельных файлов (по одному на каждый лист). Выбор метода зависит от цели: для отчёта с единой нумерацией страниц подойдёт первый вариант, а для рассылки разным получателям — второй.

В этой статье разберём 5 проверенных способов, включая скрытые функции Excel и сторонние инструменты. Особое внимание уделим типичным ошибкам (например, когда в PDF попадают пустые листы или искажается форматирование) и нюансам для разных версий программы — от Excel 2010 до Microsoft 365.

1. Стандартный экспорт через «Сохранить как»: быстро и без программ

Самый очевидный способ — использовать встроенную функцию Файл → Экспорт → Создать PDF/XPS. Он работает во всех версиях Excel начиная с 2010 года, но есть важные нюансы.

По умолчанию программа предлагает сохранить только активный лист. Чтобы экспортировать все листы книги, нужно:

  • 📌 Нажать Файл → Печать (или Ctrl+P).
  • 📌 В разделе Настройки выбрать «Напечатать всю книгу» (вместо «Напечатать активные листы»).
  • 📌 В выпадающем списке принтеров выбрать Microsoft Print to PDF.
  • 📌 Нажать Печать и указать путь для сохранения файла.

Этот метод создаёт один PDF-файл со всеми листами, где каждый лист становится отдельной страницей. Преимущество — сохраняется исходное форматирование (цвета, шрифты, границы ячеек). Однако есть и минусы:

Плюсы метода Минусы метода
Не требует установки дополнительного ПО Нельзя сохранить каждый лист в отдельный PDF
Сохраняет все настройки печати (поля, ориентацию) В Excel 2010-2013 может «обрезать» широкие таблицы
Работает даже на слабых ПК Не поддерживает защиту PDF паролем

Если вам нужно сохранить каждый лист Excel в отдельный PDF-файл с автоматическим именованием (например, по названию листа), этот способ не подойдёт — читайте дальше про макросы и Power Query.

2. Экспорт через VBA-макрос: автоматизация для продвинутых

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

Скрипт ниже сохраняет каждый лист в отдельный PDF с именем файла, соответствующим названию листа:

Sub ExportEachSheetToPDF()

Dim ws As Worksheet

Dim savePath As String

savePath = "C:\PDF_Exports\" ' Укажите свою папку для сохранения

If Right(savePath, 1) <> "\" Then savePath = savePath & "\"

If Dir(savePath, vbDirectory) = "" Then MkDir savePath

For Each ws In ThisWorkbook.Worksheets

ws.ExportAsFixedFormat _

Type:=xlTypePDF, _

Filename:=savePath & ws.Name & ".pdf", _

Quality:=xlQualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=False, _

OpenAfterPublish:=False

Next ws

MsgBox "Экспорт завершён! Файлы сохранены в: " & savePath, vbInformation

End Sub

Как использовать этот код:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (в меню Insert → Module).
  3. Измените путь C:\PDF_Exports\ на свою папку.
  4. Запустите макрос кнопкой F5.

Изменить путь сохранения в коде|Проверить права на запись в папку|Убедиться, что имена листов не содержат запрещённых символов (/ \ : * ?)|Отключить защиту книги (если есть)

-->

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

Какие символы запрещены в именах листов для макроса?

Макрос не сработает, если название листа содержит любой из этих символов: / \ : * ? " < > |. Также проблема возникнет, если имя листа длиннее 31 символа (ограничение Windows для имён файлов). В этом случае скрипт пропустит проблемный лист без уведомления.

⚠️ Внимание: В Excel 2016 и новее макросы по умолчанию отключены из-за настроек безопасности. Чтобы их запустить, перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы (не рекомендуется для недоверенных файлов!).

3. Использование Power Query: для больших книг с динамическими данными

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

  • 📊 Ваша книга содержит свыше 50 листов (макрос может «подвисать»).
  • 🔄 Данные на листах обновляются автоматически (например, через Power Pivot).
  • 📁 Нужно сохранить листы в PDF с сохранением структуры папок.

Алгоритм действий:

  1. Откройте Данные → Получить данные → Из других источников → Пустая запрос.
  2. В редакторе Power Query введите этот код на языке M:
    let
    

    Source = Excel.CurrentWorkbook(),

    Sheets = Source{[Name="SheetNames"]}[Content],

    Custom1 = Table.AddColumn(Sheets, "PDF_Path", each "C:\PDF_Exports\" & [Name] & ".pdf"),

    Custom2 = Table.AddColumn(Custom1, "Export", each try Excel.Workbook([Name]).ExportAsFixedFormat([PDF_Path], xlTypePDF) otherwise null)

    in

    Custom2

  3. Запустите запрос. Он создаст PDF для каждого листа, имя которого указано в таблице SheetNames.

Главное преимущество этого метода — гибкость. Например, можно добавить фильтрацию и экспортировать только листы, соответствующие определённому критерию (например, содержащие слово «Отчёт» в названии).

Стандартный "Сохранить как"|VBA-макрос|Power Query|Стороние программы|Не экспортирую в PDF-->

⚠️ Внимание: В Excel Online и мобильной версии Excel Power Query недоступен. Также этот метод требует базовых знаний языка M, что может быть барьером для новичков.

4. Специализированные программы: когда Excel не справляется

Если встроенные инструменты Excel не устраивают (например, из-за ограничений на количество листов или проблем с форматированием), на помощь приходят сторонние утилиты. Вот топ-3 проверенных решений:

Программа Особенности Цена
Kutools for Excel Экспорт всех листов в один PDF или по отдельности, поддержка защиты паролем От $39/год
Ablebits Пакетная обработка, сохранение гиперссылок в PDF, предварительный просмотр От $59/пожизненно
PDF24 Creator Бесплатная утилита с виртуальным принтером, поддерживает OCR Бесплатно

Как работают такие программы? Например, в Kutools for Excel алгоритм следующий:

  1. Установите и откройте надстройку в Excel.
  2. Перейдите на вкладку Kutools Plus → Import/Export → Export Range to File.
  3. Выберите опцию «Export each worksheet to a separate PDF file».
  4. Укажите папку для сохранения и нажмите OK.

Основной плюс сторонних инструментов — дополнительные функции, которых нет в стандартном Excel:

  • 🔒 Защита PDF паролем.
  • 📎 Объединение нескольких книг Excel в один PDF.
  • 🖼️ Оптимизация размера файла (сжатие изображений).

Минус — необходимость установки ПО и возможные ограничения в бесплатных версиях. Например, PDF24 Creator добавляет водяной знак на документы свыше 20 страниц.

5. Онлайн-конвертеры: быстрый экспорт без установки ПО

Если у вас нет возможности установить программы или запустить макросы (например, вы работаете на чужом ПК), можно воспользоваться онлайн-сервисами. Они позволяют загрузить файл Excel и получить PDF прямо в браузере.

Популярные сервисы:

  • 🌐 SmallPDF — поддерживает пакетную обработку, но ограничивает размер файла 50 МБ.
  • 🌐 iLovePDF — позволяет объединять несколько файлов Excel в один PDF.
  • 🌐 Zamzar — отправляет результат на email, подходит для больших файлов.

Как это работает на примере SmallPDF:

  1. Перетащите файл .xlsx или .xls в окно браузера.
  2. Выберите опцию «Конвертировать все листы» (по умолчанию может быть выбрано «Только первый лист»).
  3. Нажмите Конвертировать и дождитесь обработки.
  4. Скачайте готовый PDF или сохраните его в облако (Google Drive, Dropbox).
⚠️ Внимание: Онлайн-конвертеры не гарантируют конфиденциальность — ваши данные временно загружаются на сервер третьей стороны. Не используйте их для файлов с персональной информацией (паспортные данные, финансовые отчёты).

Плюсы онлайн-метода:

  • ⚡ Мгновенный результат без установки ПО.
  • 📱 Работает на любом устройстве (включая смартфоны).
  • 🔄 Поддержка устаревших форматов (.xls из Excel 2003).

Минусы:

  • 🚫 Ограничения по размеру файла (обычно до 100 МБ).
  • 🔒 Риск утечки данных.
  • 📄 Потеря части форматирования (например, сложные формулы могут отобразиться как текст).

6. Частые ошибки и как их избежать

Даже при использовании правильных методов экспорта пользователи сталкиваются с проблемами. Вот топ-5 ошибок и их решения:

Проблема Причина Решение
В PDF попадают пустые листы В книге есть скрытые или неиспользуемые листы Удалите ненужные листы или сделайте их видимыми перед экспортом
Искажается форматирование (смещаются столбцы) В настройках печати выбрана неверная область Перед экспортом установите Область печати (Разметка страницы → Область печати)
PDF создаётся, но не открывается Повреждение файла при сохранении Попробуйте другой метод экспорта или пересохраните исходный файл Excel в новом формате (.xlsx)
Вместо формул отображаются ошибки (#ЗНАЧ!) В настройках PDF отключён показ формул Включите опцию Печать формул в Параметры страницы → Лист → Печатать
Долгая обработка больших файлов Слишком много данных или сложные формулы Разбейте книгу на несколько файлов или используйте Power Query

Ещё одна типичная ситуация: в PDF не попадают диаграммы или изображения. Это происходит, если они добавлены как объекты ActiveX или связаны с внешними источниками. Решение:

  1. Проверьте, что диаграммы вставлены как Встроенные (не Связанные).
  2. Преобразуйте объекты в картинки: выделите диаграмму → Копировать как рисунок → вставьте обратно.

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

FAQ: Ответы на популярные вопросы

Можно ли сохранить все листы Excel в один PDF, но с закладками по названиям листов?

Да, но только с помощью VBA-макроса или сторонних программ (например, Kutools for Excel). Стандартный экспорт через Печать не поддерживает создание закладок. Вот пример кода для макроса:

Sub ExportWithBookmarks()

Dim ws As Worksheet

Dim pdfPath As String

pdfPath = "C:\Report.pdf"

ThisWorkbook.ExportAsFixedFormat _

Type:=xlTypePDF, _

Filename:=pdfPath, _

Quality:=xlQualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=False, _

OpenAfterPublish:=True, _

CreateBookmarks:=xlBookmarkLevel1 ' Добавляет закладки

End Sub

Почему при экспорте в PDF пропадают русские шрифты?

Эта проблема возникает, если в системе не установлены шрифты, используемые в Excel, или они не встроены в PDF. Решения:

  1. В настройках экспорта выберите Встроить шрифты (доступно в Excel 2016 и новее).
  2. Замените шрифт в Excel на стандартный (например, Arial или Times New Roman).
  3. Используйте PDF-принтер (например, CutePDF), который сохраняет шрифты.
Как экспортировать в PDF только видимые ячейки (без скрытых строк/столбцов)?

По умолчанию Excel экспортирует все данные, включая скрытые. Чтобы этого избежать:

  1. Перейдите в Файл → Печать → Параметры страницы → Лист.
  2. Снимите галочку с Печатать скрытые строки и столбцы.
  3. Запустите экспорт в PDF.

Для VBA-макроса добавьте параметр PrintHidden:=False в метод ExportAsFixedFormat.

Можно ли автоматизировать экспорт в PDF по расписанию?

Да, для этого подойдёт:

  • 📅 Планировщик задач Windows + VBA-скрипт (для локальных файлов).
  • 🤖 Power Automate (бывший Microsoft Flow) для облачных файлов (OneDrive/SharePoint).
  • 🖥️ Сторонние сервисы вроде Zapier (интеграция с Google Sheets).

Пример для Планировщика задач:

  1. Создайте .vbs-скрипт, который открывает Excel и запускает макрос экспорта.
  2. Добавьте задачу в Планировщик задач с триггером (например, ежедневно в 18:00).
Как экспортировать в PDF только выделенный диапазон на всех листах?

Стандартными средствами Excel это сделать нельзя, но можно использовать VBA:

Sub ExportSelectedRangeAllSheets()

Dim ws As Worksheet

Dim savePath As String

savePath = "C:\Selected_Ranges\"

For Each ws In ThisWorkbook.Worksheets

ws.PageSetup.PrintArea = Selection.Address ' Устанавливает область печати по выделению

ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=savePath & ws.Name & ".pdf"

Next ws

End Sub

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