Как печатать границы вокруг каждой страницы в Excel?
При работе с большими рабочими листами, охватывающими сотни страниц, печать данных в четком и профессиональном формате становится необходимой. Один из способов добиться этого — добавить границу вокруг каждой распечатываемой страницы, чтобы распечатка была визуально разделена и легче читалась. Хотя можно вручную выбирать и применять границы к содержимому каждой страницы в Excel, этот подход крайне трудоемкий и непрактичный при работе с несколькими страницами. К счастью, существуют более эффективные решения для автоматической печати границ вокруг каждой страницы в Excel. В этой статье мы рассмотрим несколько практических методов для выполнения этой задачи, включая как встроенные опции, так и альтернативные подходы.
➤ Печать границ вокруг каждой страницы с настройкой сетки
➤ Печать границ вокруг каждой страницы одним щелчком с помощью Kutools для Excel

➤ Печать границ вокруг каждой страницы с использованием автоматизации макроса VBA
Печать границ вокруг каждой страницы с настройкой сетки
Хотя Excel не предоставляет специальной опции для добавления границы вокруг каждой распечатываемой страницы, вы можете использовать функцию «Печать сетки», чтобы имитировать границы страниц. Это быстро и не требует дополнительных надстроек. Обратите внимание, что это не создаст жирного контура страницы — Excel печатает все линии сетки, и край страницы становится визуально обозначенным последними напечатанными линиями сетки.
Примечания:
- Этот метод лучше всего работает, когда ваш рабочий лист соответствует регулярной сеточной структуре, и вы не полагаетесь на сложные пользовательские границы.
- Если ваш лист уже использует различимые границы для таблиц, напечатанные линии сетки могут визуально конфликтовать с ними.
1. Если существуют пользовательские границы, удалите их в первую очередь, чтобы избежать пересечения или несогласованности линий при печати. Выберите лист, затем перейдите на вкладку Главная > Граница (значок) > Без границы, чтобы очистить границы для всех выбранных ячеек:
2. Перейдите на вкладку Разметка страницы > нажмите значок открытия диалогового окна Настройка страницы (маленькая стрелка в углу группы), чтобы открыть диалоговое окно Настройка страницы:
3. В диалоговом окне «Настройка страницы» перейдите на вкладку Лист и отметьте опцию Сетка в разделе Печать, чтобы все линии сетки (включая те, что находятся на краях страницы) были напечатаны:
4. Нажмите Предварительный просмотр, чтобы подтвердить результат. При печати каждая страница будет показывать четкую прямоугольную границу, образованную самыми внешними напечатанными линиями сетки, имитирующими границу страницы. Смотрите пример:
Советы:
- Если вам нужны более толстые, заметные границы, рассмотрите возможность ручного добавления внешних границ для области печати или использование макроса для рисования контуров страниц.
- Избегайте объединенных/нерегулярных областей ячеек; они могут нарушить визуальную непрерывность напечатанных линий сетки.
- Всегда проверяйте предварительный просмотр перед печатью, чтобы убедиться, что внешний вид соответствует вашим ожиданиям.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Печать границ вокруг каждой страницы одним щелчком с помощью Kutools для Excel
Для пользователей, которые хотят получить более профессионально выглядящие границы страниц, особенно в рабочих листах со сложным форматированием или когда сетки недостаточно, Kutools для Excel предлагает удобное решение: функция Добавить границу к каждой странице. Этот инструмент позволяет добавить сплошную границу к каждой печатаемой странице активного рабочего листа всего одним щелчком, экономя время и обеспечивая согласованный внешний вид на всех страницах.
После установки Kutools для Excel следуйте этим шагам, чтобы добавить границы к каждой странице:
1. Активируйте лист, где вы хотите добавить границы, затем перейдите Предприятие > Печать > Добавить границу к каждой странице. Смотрите скриншот:
2. Если появится диалоговое окно с предупреждением, что все существующие границы будут удалены, если вы продолжите, убедитесь, что вы сохранили свою работу или подтвердили, что перезапись границ допустима. Нажмите Да чтобы продолжить:
После применения каждая страница вашего рабочего листа будет обведена жирной, четкой границей, делая распечатку организованной и легко различимой. Этот метод быстр и минимизирует ручные усилия.
Советы и примечания:
- Существующие границы будут удалены с активного листа при использовании этой опции.
- Если вам нужно сохранить определенные границы, рассмотрите возможность создания резервной копии файла или рабочего листа заранее.
- Эта опция хорошо работает для больших рабочих листов с несколькими страницами печати, требующих согласованных и визуально четких границ страниц.
Печать границ вокруг каждой страницы с использованием автоматизации макроса VBA
Если вы хотите автоматизировать добавление границы вокруг каждой печатаемой страницы, особенно для повторяющихся задач или пользовательских макетов, вы можете использовать макрос VBA, который считывает разрывы страниц в Excel и рисует контур страницы. Это дает вам полный контроль над стилем и толщиной границы без использования надстроек.
Примечания:
- Макрос очерчивает каждую печатаемую страницу только границами на ее внешних краях (верхней/левой/нижней/правой). Он не перезапишет существующие внутренние границы ячеек.
- Работает лучше всего на хорошо структурированных листах; сложные объединенные ячейки или необычные области печати могут потребовать небольших корректировок.
Шаги операции:
1. Нажмите Alt + F11, чтобы открыть редактор Visual Basic для Applications. Нажмите Вставка > Модуль, чтобы добавить новый модуль.
2. Скопируйте и вставьте следующий код в модуль:
Sub AddBorderToEachPrintablePage()
Dim ws As Worksheet
Dim LastRow As Long, LastCol As Long
Dim StartRow As Long, EndRow As Long
Dim StartCol As Long, EndCol As Long
Dim vRowBreaks As Variant, vColBreaks As Variant
Dim i As Long, j As Long
Dim oldDisp As Boolean
Dim f As Range
Set ws = ActiveSheet
Application.ScreenUpdating = False
Application.EnableEvents = False
' Check if sheet is empty
Set f = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If f Is Nothing Then GoTo CleanUp
LastRow = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastCol = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
' Force refresh of page breaks
oldDisp = ws.DisplayPageBreaks
ws.DisplayPageBreaks = True
' Collect horizontal page breaks (add top and bottom bounds)
vRowBreaks = Array(0)
For i = 1 To ws.HPageBreaks.Count
vRowBreaks = ArrayJoin(vRowBreaks, Array(ws.HPageBreaks(i).Location.Row - 1))
Next i
vRowBreaks = ArrayJoin(vRowBreaks, Array(LastRow))
' Collect vertical page breaks (add left and right bounds)
vColBreaks = Array(0)
For j = 1 To ws.VPageBreaks.Count
vColBreaks = ArrayJoin(vColBreaks, Array(ws.VPageBreaks(j).Location.Column - 1))
Next j
vColBreaks = ArrayJoin(vColBreaks, Array(LastCol))
' Draw only outer borders for each printable page
For i = 0 To UBound(vRowBreaks) - 1
StartRow = vRowBreaks(i) + 1
EndRow = vRowBreaks(i + 1)
For j = 0 To UBound(vColBreaks) - 1
StartCol = vColBreaks(j) + 1
EndCol = vColBreaks(j + 1)
With ws.Range(ws.Cells(StartRow, StartCol), ws.Cells(EndRow, EndCol))
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous: .Weight = xlThick
End With
End With
Next j
Next i
CleanUp:
ws.DisplayPageBreaks = oldDisp
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not f Is Nothing Then
MsgBox "Borders have been added to each printable page!", vbInformation, "AddBorderToEachPrintablePage"
End If
End Sub
Function ArrayJoin(a As Variant, b As Variant) As Variant
Dim temp() As Variant
Dim alen As Long, blen As Long, k As Long
alen = UBound(a) - LBound(a) + 1
blen = UBound(b) - LBound(b) + 1
ReDim temp(0 To alen + blen - 1)
For k = 0 To alen - 1
temp(k) = a(k)
Next k
For k = 0 To blen - 1
temp(alen + k) = b(k)
Next k
ArrayJoin = temp
End Function
3. Вернитесь в Excel, убедитесь, что целевой рабочий лист активен, и запустите макрос клавишей F5 (или кнопкой Запуск). Макрос определит разрывы страниц и нарисует толстую границу вокруг каждого блока печатаемых страниц.
Советы:
- Настройте стиль/толщину границы, редактируя четыре секции
xlEdge*
(например,.Weight = xlMedium
, цвет через.Color
). - Если задана пользовательская область печати, разрывы страниц Excel будут следовать за ней; проверьте результаты в режиме Предварительного просмотра.
- Сохраните свою книгу перед запуском макросов. Для повторного использования сохраните как файл с поддержкой макросов (
.xlsm
). - Если содержимое не найдено, макрос безопасно завершается с сообщением (предотвращает ошибки на пустых листах).
Если макрос не работает должным образом, проверьте наличие объединенных ячеек, скрытых строк/столбцов или необычных настроек масштабирования (например, "Подогнать на 1 страницу шириной на N страниц высотой"). Вы можете уточнить блоки страниц, изменив область печати или настройки страницы, и снова запустить макрос.
Добавить границу вокруг каждой страницы
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек