Друк кожного значення у полі сторінки - Поради 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

Підказка Раджу за те, що він звітував із цим натяком. Вищевказаний макрос не буде працювати, коли зведена таблиця відсортована в розділі Додатково. Скидання цього параметра до ручного дозволить вирішити проблему.

Примітка

Ця підказка перегляне кожне поле сторінки, щоб їх роздрукувати. Якщо ви хочете створити книгу зі 150 різними аркушами, по одному для кожного значення поля сторінки, ви можете скористатися функцією Показати сторінки.

Цікаві статті...