Excel – удобный инструмент для отслеживания всех видов данных. Многие люди используют его на работе для создания специальных отчетов для разных отделов или проектов. Работая с данными, вы можете задаться вопросом, как можно автоматически вставлять разрывы страниц при изменении содержимого определенного столбца. Например, у вас может быть столбец, содержащий названия отделов, и вы можете захотеть, чтобы каждый отдел начинал с новой страницы.
Это довольно легко сделать с помощью встроенной функции промежуточных итогов в Excel . Все, что вам нужно сделать, это выполнить следующие действия:
- Убедитесь, что ваша таблица содержит метки столбцов. Например, если столбец A содержит названия отделов, тогда ячейка A1 может содержать метку, например «Отдел». Убедитесь, что все столбцы имеют метки.
- Отсортируйте данные в таблице, используя столбец отдела в качестве ключа.
- Если любая ячейка в таблице все еще выделена, выберите «Промежуточные итоги» в меню «Данные». Excel отображает диалоговое окно “Промежуточные итоги”.
- В раскрывающемся списке “При каждом изменении” выберите “Отдел”.
- В раскрывающемся списке “Использовать функцию” выберите “Подсчитать” .
- Используя список “Добавить промежуточный итог в”, выберите имя столбца, в котором должен отображаться промежуточный итог.
- Убедитесь, что установлен флажок Разрыв страницы между группами. выбрано.
- Нажмите “ОК”. 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 TestCellEnd Sub
Чтобы использовать макрос, просто выберите ячейки, которые вы хотите использовать в качестве ключ для выполнения разбиения за вычетом верхней ячейки. Например, если отделы находятся в столбце A, строки со 2 по 37, вы должны выбрать диапазон от A3 до A37. Запустите макрос, и все старые разрывы страниц будут удалены, а новые добавлены.
Вы должны понимать, что в Excel есть ограничение, когда дело доходит до количества разрывов страниц вручную, которые можно использовать в рабочий лист. Согласно базе знаний, это ограничение составляет около 1024 перерывов. (Предел может незначительно отличаться в зависимости от версии Excel, которую вы используете, но примерно в этой точке.) Вот неясная запись об ограничении:
http://support.microsoft .com/kb/284916
Результатом этого ограничения является то, что если у вас есть несколько разрывов страниц для вставки, макрос выйдет из строя при превышении лимита разрывов страниц на листе. В сообщении об ошибке будет указано что-то вроде «Невозможно установить свойство PageBreak».
Источник: