Печатать каждое значение в поле страницы - Советы по Excel

Содержание

Радж спрашивает:

У меня есть сводная таблица Excel с 150 различными значениями в поле страницы. Как я могу запустить макрос для печати каждой отдельной страницы? Я попытался записать макрос, но он жестко кодирует имя каждой страницы, и некоторые из этих страниц могут отсутствовать от недели к неделе.

Visual Basic делает это несложно. В этом макросе используется следующее:

  • Коллекция PageFields сообщит вам имя поля первой страницы в сводной таблице.
  • Коллекция PivotItems - это список всех элементов (страниц) в поле страницы.
  • Свойство CurrentPage позволяет вам изменить страницу, отображаемую в сводной таблице.
Sub PrintAll() ' Find name of page field PageField1 = ActiveSheet.PivotTables("PivotTable1").PageFields(1) ' Save the name of the page field displayed when macro begins OrigPage = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage ' Determine how many pages there are in page field NumPages = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).PivotItems.Count For i = 1 To NumPages ThisPage = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).PivotItems(i) ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = ThisPage ActiveWindow.SelectedSheets.PrintOut Next i ' Print the (all) page ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = "(all)" ActiveWindow.SelectedSheets.PrintOut ' Restore view back to original page ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = OrigPage End Sub

Подсказка Раджу за то, что он ответил с этой подсказкой. Приведенный выше макрос не будет работать, если ваша сводная таблица отсортирована в разделе Advanced. Возврат к ручному использованию решит проблему.

Заметка

Этот совет будет проходить через каждое поле страницы, чтобы распечатать их. Если вы хотите создать книгу со 150 различными листами, по одному для каждого значения поля страницы, вы можете использовать функцию «Показать страницы».

Интересные статьи...