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

Это довольно просто сделать с помощью встроенной в Excel функции промежуточных итогов.

Все, что вам нужно сделать, это выполнить следующие действия:

  1. Убедитесь, что ваша таблица содержит подписи столбцов. Например, если столбец A содержит названия отделов, тогда ячейка A1 может содержать метку, например «Отдел». Убедитесь, что все столбцы имеют метки.

  2. Отсортируйте данные в таблице, используя столбец отдела в качестве ключа.

  3. Выделив любую ячейку в таблице, выберите «Промежуточные итоги» в меню «Данные». Excel отображает диалоговое окно «Промежуточные итоги».

  4. В раскрывающемся списке При каждом изменении в выберите Отдел.

  5. В раскрывающемся списке Use Function выберите Count.

  6. Используя список «Добавить промежуточный итог в», выберите имя столбца, в котором вы хотите разместить промежуточный итог.

  7. Убедитесь, что установлен флажок Разрыв страницы между группами.

  8. Щелкните ОК. 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 [Условные разрывы страниц].