При попытке распечатать в Microsoft Excel только выбранные строки (например, итоги по отделам или фильтрованные записи) стандартная команда Файл → Печать выводит весь лист целиком. Проблема возникает из-за того, что программа по умолчанию игнорирует скрытые строки и не распознаёт пользовательский выбор ячеек как область печати. Чтобы распечатать только нужные строки — от 2 до 50 или с определённым условием (например, "Статус = Выполнено") — потребуется настроить область печати, применить фильтры или использовать макросы для автоматизации.
В этой статье разберём 5 рабочих методов, включая скрытие ненужных данных, создание пользовательского диапазона и печать через Power Query. Особое внимание уделим типичным ошибкам: почему печать "срывается" на весь лист, как избежать обрезки текста в ячейках и почему некоторые строки могут пропадать при экспорте в PDF. Все способы протестированы в Excel 2019–2023 и Microsoft 365 (актуально для версий на июнь 2026).
1. Печать выделенных строк через область печати
Самый быстрый способ распечатать только нужные строки — задать область печати вручную. Этот метод подходит, если строки расположены подряд (например, с 10 по 25) и не требуют предварительной фильтрации. Алгоритм:
- Выделите строки, которые нужно распечатать (зажмите
Shift+ клик по номерам строк слева). - Перейдите на вкладку
Разметка страницы→ группаПараметры страницы→Область печати→Задать. - Откройте предварительный просмотр (
Файл → Печать) и убедитесь, что в настройках выбраноПечатать выделенный фрагмент.
⚠️ Внимание: Если после задания области печати в предварительном просмотре отображается весь лист, проверьте:
- 🔹 Не установлен ли флажок
Игнорировать область печатив параметрах принтера. - 🔹 Не включён ли режим
Разметка страницы(вкладкаВид), который может сбрасывать настройки. - 🔹 Не сохранён ли файл в формате .xls (устаревшая версия Excel с ограничениями).
2. Фильтрация данных перед печалью
Когда нужно распечатать строки по условию (например, только записи с суммой > 10 000 или датой после 01.01.2026), используйте автофильтр или расширенный фильтр. Этот метод исключает необходимость скрывать строки вручную и минимизирует риск ошибок.
Пошаговая инструкция для автофильтра:
- Выделите заголовки столбцов (строку 1).
- Нажмите
Данные → Фильтр(или сочетаниеCtrl+Shift+L). - Раскройте выпадающий список в столбце с условием (например, "Статус") и выберите нужные значения (например, "Оплачено").
- Перейдите в
Файл → Печатьи установите флажокПечатать только видимые ячейки.
Для сложных условий (например, "Сумма > 10 000 И Дата < 31.12.2023") используйте расширенный фильтр:
- Скопируйте заголовки столбцов в пустую область листа (например, в ячейку
E1). - Под заголовками укажите условия (например, в
E2: ">10000", вF2: "<31.12.2023"). - Выделите исходные данные, затем перейдите в
Данные → Расширенный фильтр. - В поле
Исходный диапазонукажите адрес таблицы, вДиапазон условий— адрес критериев (например,$E$1:$F$2). - Нажмите
ОК— Excel отфильтрует строки по условиям. Остаётся задать область печати или распечатать видимые ячейки.
Как сохранить фильтрованные данные в новый лист
1. В окне Расширенный фильтр выберите скопировать результат в другое место.
2. Укажите целевую ячейку (например, $A$1 на новом листе).
3. Нажмите ОК — отфильтрованные строки появятся на отдельном листе, который можно распечатать без риска сброса фильтров.
3. Скрытие ненужных строк перед печалью
Если фильтрация не подходит (например, нужно распечатать строки 3, 7 и 15–20), можно вручную скрыть ненужные строки, а затем печатать только видимые. Этот метод удобен для разовых задач, но не подходит для больших таблиц (скрытие 100+ строк займёт много времени).
Алгоритм:
- Выделите номера строк, которые нужно скрыть (кликните по номерам слева с зажатым
Ctrl). - Нажмите правую кнопку мыши →
Скрыть. - В предварительном просмотре печати (
Файл → Печать) выберитеПечатать только видимые ячейки.
| Метод | Плюсы | Минусы | Время выполнения |
|---|---|---|---|
| Область печати | Быстро, не требует изменений в данных | Не подходит для разрозненных строк | 1–2 минуты |
| Фильтрация | Гибкость (условия, несколько критериев) | Требует настройки критериев | 3–5 минут |
| Скрытие строк | Визуальный контроль | Ручная работа, риск ошибок | 5+ минут |
| Макросы | Автоматизация для повторяющихся задач | Требует знаний VBA | 10+ минут (однократно) |
⚠️ Внимание: После скрытия строк не забывайте их развернуть, иначе при следующем открытии файла вы можете не заметить скрытые данные. Чтобы вернуть все строки, выделите весь лист (Ctrl+A) → правая кнопка → Показать.
4. Печать через Power Query (для больших таблиц)
Если таблица содержит тысячи строк и нужно распечатать только те, что соответствуют сложным условиям (например, данные за текущий квартал с определённым статусом), используйте Power Query. Этот инструмент позволяет отфильтровать данные без изменения исходного листа и экспортировать результат в новый файл.
Инструкция:
- Выделите таблицу и перейдите на вкладку
Данные→Из таблицы/диапазона(группаПолучить и преобразовать данные). - В открывшемся редакторе Power Query примените фильтры: кликните по стрелке в заголовке столбца и выберите условия.
- Нажмите
Закрыть и загрузить в...→ выберитеНовый лист. - На новом листе появится отфильтрованная таблица — распечатайте её стандартным способом.
Критичный нюанс: При обновлении исходных данных (Данные → Обновить все) таблица в Power Query автоматически пересчитается. Это удобно для регулярных отчётов, но может замедлить работу с большими файлами (>100 МБ).
5. Автоматизация печати через макросы
Для повторяющихся задач (например, еженедельная печать отчётов по одним и тем же критериям) напишите макрос на VBA. Пример кода для печати строк с условием в столбце A (например, "Да"):
Sub PrintSpecificRows()
Dim ws As Worksheet
Dim rng As Range, cell As Range
Dim printRange As Range
Set ws = ActiveSheet
Set rng = ws.UsedRange
For Each cell In rng.Columns(1).Cells ' Проверяем столбец A
If cell.Value = "Да" Then
If printRange Is Nothing Then
Set printRange = cell.EntireRow
Else
Set printRange = Union(printRange, cell.EntireRow)
End If
End If
Next cell
If Not printRange Is Nothing Then
printRange.PrintOut
Else
MsgBox "Нет строк для печати!", vbExclamation
End If
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в модуль (
Вставка → Модуль). - Закройте редактор и запустите макрос через
Вид → Макросы(или назначьте сочетание клавиш).
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не выполнится. Также проверьте настройки безопасности: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов → выберите Включить все макросы (только для доверенных файлов!).
Типичные ошибки и как их избежать
Даже при правильной настройке печати пользователи сталкиваются с проблемами: обрезка текста, пропавшие строки или печать всего листа вместо выделенного фрагмента. Рассмотрим основные причины и решения:
- 📄 Печатается весь лист, а не выделенные строки:
- Проверьте, не сбросилась ли область печати после сохранения файла.
- Убедитесь, что в настройках принтера не стоит галочка
Игнорировать область печати.
- 🔍 Строки пропадают при печати:
- Если использовали фильтр, убедитесь, что в предварительном просмотре выбрано
Печатать только видимые ячейки. - Для скрытых строк проверьте, не применён ли к ним
Группировка(вкладкаДанные).
- Если использовали фильтр, убедитесь, что в предварительном просмотре выбрано
- ✂️ Обрезается текст в ячейках:
- Установите
Перенос текста(вкладкаГлавная→ группаВыравнивание). - В параметрах страницы (
Разметка страницы → Параметры страницы) выберитеПо размеруи уменьшите масштаб до 90–95%.
- Установите
Выделена ли область печати?|Установлен ли флажок "Печатать только видимые ячейки"?|Проверены ли настройки принтера (ориентация, поля)?|Сохранён ли файл в формате .xlsx/.xlsm?-->
FAQ: Частые вопросы
Можно ли распечатать строки с разных листов в одном документе?
Да, но стандартными средствами Excel это невозможно. Варианты решения:
- Скопируйте нужные строки на один лист (например, "Для печати") и распечатайте его.
- Используйте Power Query для объединения данных с нескольких листов в одну таблицу.
- Напишите макрос на VBA, который соберёт строки с разных листов и распечатает их.
⚠️ При копировании данных проверьте, что форматы ячеек (даты, валюта) сохранены.
Почему при печати через PDF строки смещаются?
Проблема возникает из-за:
- Несовпадения полей страницы в Excel и настройках виртуального принтера PDF.
- Слишком широких столбцов (Excel масштабирует таблицу, а PDF-принтер — нет).
- Использования шрифтов, не поддерживаемых PDF (например, Calibri Light).
Решение:
- В параметрах страницы (
Разметка страницы) установите фиксированные поля (например, по 1 см). - Перед экспортом в PDF сохраните файл в .xps, затем конвертируйте в PDF через Adobe Acrobat или онлайн-сервисы.
Как распечатать строки с цветной заливкой?
По умолчанию Excel печатает фон ячеек только если включена опция Печатать цвета и изображения фона. Чтобы активировать её:
- Перейдите в
Файл → Параметры → Дополнительно. - В разделе
Параметры печати для этого листаустановите флажокПечатать цвета и изображения фона. - Сохраните изменения и повторите печать.
⚠️ В некоторых принтерах цвета могут отображаться бледнее, чем на экране. Для критичных отчётов используйте условное форматирование с контрастными цветами.
Можно ли распечатать только строки с формулами?
Да, но для этого потребуется:
- Добавить вспомогательный столбец с функцией
=ЕСЛИ(ЕЧИСЛО(ФОРМУЛА(А1));"Да";"Нет"), гдеА1— ячейка с формулой. - Отфильтровать строки по значению "Да" в вспомогательном столбце.
- Распечатать видимые строки.
💡 Совет: Чтобы увидеть сами формулы (а не их результаты), перейдите на вкладку Формулы → Показать формулы перед печалью.