Условные разрывы страниц

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

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

  1. Убедитесь, что ваша таблица содержит метки столбцов. Например, если столбец A содержит названия отделов, тогда ячейка A1 может содержать метку, например «Отдел». Убедитесь, что все столбцы имеют метки.
  2. Отсортируйте данные в таблице, используя столбец отдела в качестве ключа.
  3. Если любая ячейка в таблице все еще выделена, выберите «Промежуточные итоги» в меню «Данные». Excel отображает диалоговое окно “Промежуточные итоги”.
  4. В раскрывающемся списке “При каждом изменении” выберите “Отдел”.
  5. В раскрывающемся списке “Использовать функцию” выберите “Подсчитать” .
  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 TestCellEnd Sub

Чтобы использовать макрос, просто выберите ячейки, которые вы хотите использовать в качестве ключ для выполнения разбиения за вычетом верхней ячейки. Например, если отделы находятся в столбце A, строки со 2 по 37, вы должны выбрать диапазон от A3 до A37. Запустите макрос, и все старые разрывы страниц будут удалены, а новые добавлены.

Вы должны понимать, что в Excel есть ограничение, когда дело доходит до количества разрывов страниц вручную, которые можно использовать в рабочий лист. Согласно базе знаний, это ограничение составляет около 1024 перерывов. (Предел может незначительно отличаться в зависимости от версии Excel, которую вы используете, но примерно в этой точке.) Вот неясная запись об ограничении:

http://support.microsoft .com/kb/284916

Результатом этого ограничения является то, что если у вас есть несколько разрывов страниц для вставки, макрос выйдет из строя при превышении лимита разрывов страниц на листе. В сообщении об ошибке будет указано что-то вроде «Невозможно установить свойство PageBreak».

Источник: frestage.ru

Бытовой вопрос