Imprimir cada valor en el campo de la página

Tabla de contenido

Raj pregunta:

Tengo una tabla dinámica de Excel configurada con 150 valores diferentes en el campo de la página. ¿Cómo puedo ejecutar una macro para imprimir cada página individual? Intenté grabar la macro, pero codifica el nombre de cada página, y algunas de esas páginas pueden no estar allí de una semana a otra.

Visual Basic hace que esto sea muy sencillo. Esta macro utiliza lo siguiente:

  • La colección PageFields le dirá el nombre del campo de la primera página en la tabla dinámica.
  • La colección PivotItems es una lista de todos los elementos (páginas) en el campo de la página.
  • La propiedad CurrentPage le permite cambiar qué página se muestra en la tabla 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

Un consejo de la gorra para Raj por informar con esta pista. La macro anterior no funcionará cuando tenga su tabla dinámica ordenada en Avanzado. Restablecer esto a manual corregirá el problema.

Nota

Este consejo recorrerá todos los campos de la página para poder imprimirlos. Si desea generar un libro de trabajo con 150 hojas de trabajo diferentes, una para cada valor de campo de página, puede usar la función Mostrar páginas.

Articulos interesantes...