Udskriv hver værdi i sidefelt - Excel-tip

Indholdsfortegnelse

Raj spørger:

Jeg har en Excel-pivottabel oprettet med 150 forskellige værdier i sidefeltet. Hvordan kan jeg køre en makro til at udskrive hver enkelt side? Jeg prøvede at optage makroen, men det koder hårdt navnet på hver side, og nogle af disse sider er muligvis ikke der fra uge til uge.

Visual Basic gør dette til et øjeblik. Denne makro bruger følgende:

  • Den PageFields samling vil fortælle dig navnet på den første side felt i pivottabellen.
  • Den PivotItems kollektionen er en liste over alle de elementer (sider) i sidens felt.
  • Den currentPage egenskab giver dig mulighed for at ændre hvilken side der vises i pivottabellen.
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

Et tip på hætten til Raj for rapportering tilbage med dette tip. Ovenstående makro fungerer ikke, når du har din pivottabel sorteret under Avanceret. Nulstilling af dette til manual vil løse problemet.

Bemærk

Dette tip løber gennem hvert sidefelt for at udskrive dem. Hvis du vil generere en projektmappe med 150 forskellige regneark, en for hver sidefeltværdi, kan du bruge funktionen Vis sider.

Interessante artikler...