Условные разрывы страниц (Microsoft Excel)
Excel — удобный инструмент для отслеживания всех видов данных. Многие люди используют его на работе для создания специальных отчетов для разных отделов или проектов. Работая с данными, вы можете задаться вопросом, как можно автоматически вставлять разрывы страниц при изменении содержимого определенного столбца. Например, у вас может быть столбец, содержащий названия отделов, и вы можете захотеть, чтобы каждый отдел начинался с новой страницы.
Это довольно просто сделать с помощью встроенной в Excel функции промежуточных итогов.
Все, что вам нужно сделать, это выполнить следующие действия:
-
Убедитесь, что ваша таблица содержит подписи столбцов. Например, если столбец A содержит названия отделов, тогда ячейка A1 может содержать метку, например «Отдел». Убедитесь, что все столбцы имеют метки.
-
Отсортируйте данные в таблице, используя столбец отдела в качестве ключа.
-
Выделив любую ячейку в таблице, выберите «Промежуточные итоги» в меню «Данные». Excel отображает диалоговое окно «Промежуточные итоги».
-
В раскрывающемся списке При каждом изменении в выберите Отдел.
-
В раскрывающемся списке Use Function выберите Count.
-
Используя список «Добавить промежуточный итог в», выберите имя столбца, в котором вы хотите разместить промежуточный итог.
-
Убедитесь, что установлен флажок Разрыв страницы между группами.
-
Щелкните ОК. Excel добавляет промежуточные итоги и количество страниц в соответствии с указаниями.
Если по какой-то причине вы не хотите использовать функцию промежуточных итогов, вы всегда можете написать макрос, который удалит все разрывы страниц на вашем листе, а затем добавит новые разрывы страниц в соответствующих местах. Следующий макрос сделает свое дело:
Sub PageBreak() Dim CellRange As Range Dim TestCell As Range ActiveSheet.ResetAllPageBreaks Set CellRange = Selection For Each TestCell In CellRange If TestCell.Value <> TestCell.Offset(-1, 0).Value Then ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual End If Next TestCell End Sub
Чтобы использовать макрос, просто выберите ячейки, которые вы хотите использовать в качестве ключа для разделения, за вычетом верхней ячейки. Например, если отделы находятся в столбце A, строки со 2 по 37, вы должны выбрать диапазон от A3 до A37. Запустите макрос, и все старые разрывы страниц будут удалены и добавлены новые.
Вы должны понимать, что в Excel есть ограничение, когда речь идет о количестве ручных разрывов страниц, которые можно использовать на листе. Согласно базе знаний, это ограничение составляет около 1024 перерывов. (Предел может незначительно отличаться в зависимости от версии Excel, которую вы используете, но находится примерно в этой точке.) Вот неясная запись об ограничении:
http://support.microsoft.com/kb/284916
Результатом этого ограничения является то, что если вам нужно вставить довольно много разрывов страниц, макрос выйдет из строя при превышении лимита разрывов страниц на листе. В сообщении об ошибке будет указано что-то вроде «Невозможно установить свойство PageBreak».
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2792) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:
link: / excelribbon-Conditional_Page_Breaks [Условные разрывы страниц]
.