Druk elke waarde in paginaveld af - Excel-tips

Inhoudsopgave

Raj vraagt:

Ik heb een Excel-draaitabel met 150 verschillende waarden in het paginaveld. Hoe kan ik een macro uitvoeren om elke afzonderlijke pagina af te drukken? Ik heb geprobeerd de macro op te nemen, maar de naam van elke pagina is moeilijk te coderen, en sommige van die pagina's zijn er misschien niet van week tot week.

Visual Basic maakt dit in een handomdraai. Deze macro gebruikt het volgende:

  • De PageFields- collectie vertelt je de naam van het eerste paginaveld in de draaitabel.
  • De PivotItems- verzameling is een lijst met alle items (pagina's) in het paginaveld.
  • Met de eigenschap CurrentPage kunt u wijzigen welke pagina wordt weergegeven in de draaitabel.
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

Een tip van de pet aan Raj voor het melden van deze hint. De bovenstaande macro werkt niet als u uw draaitabel hebt gesorteerd onder Geavanceerd. Door dit terug te zetten naar de handleiding wordt het probleem verholpen.

Opmerking

Deze tip zal elk paginaveld doorlopen om ze af te drukken. Als u een werkmap wilt genereren met 150 verschillende werkbladen, één voor elke paginaveldwaarde, kunt u de functie Pagina's weergeven gebruiken.

Interessante artikelen...