Imprimir cada valor no campo da página - Dicas do Excel

Índice

Raj pergunta:

Eu tenho uma tabela dinâmica do Excel configurada com 150 valores diferentes no campo da página. Como posso executar uma macro para imprimir cada página individual? Tentei gravar a macro, mas é difícil codificar o nome de cada página e algumas dessas páginas podem não estar lá de semana para semana.

Visual Basic torna isso muito fácil. Esta macro usa o seguinte:

  • A coleção PageFields informará o nome do primeiro campo da página na tabela dinâmica.
  • A coleção PivotItems é uma lista de todos os itens (páginas) no campo de página.
  • A propriedade CurrentPage permite que você altere qual página é exibida na tabela dinâmica.
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

Uma dica para Raj por relatar de volta com essa dica. A macro acima não funcionará quando você tiver sua tabela dinâmica classificada em Avançado. Redefinir para o manual corrigirá o problema.

Nota

Esta dica percorrerá todos os campos da página para imprimi-los. Se você deseja gerar uma pasta de trabalho com 150 planilhas diferentes, uma para cada valor de campo da página, você pode usar o recurso Mostrar páginas.

Artigos interessantes...