Un lector pedía ayuda para mostrar ciertas opciones en su tabla dinámica:
1-Sin subtotales
2-En estilo de diseño Tabular
3-Repitiendo etiquetas de elementos:
Partimos de una tabla como origen de datos con cuatro campos: Fechas, Conceptos, Categorías e Importe,
a partir de la cual hemos construido una tabla dinámica con dos campos en el área de filas:
Conceptos, Categorías
y el campo de Importe en el área de valores resumido por suma.
El aspecto de la tabla dinámica es que aparecen los subtotales por defecto, no se repiten las etiquetas de elementos y tiene un diseño Compacto.
Con la macro siguiente que incluimos en un módulo estándar de nuestro proyecto conseguiremos los tres puntos que requiere el lector:
El resultado tras ejecutar la macro es el esperado:
Otra posibilidad para eliminar los subotales sobre un campo en concreto:
1-Sin subtotales
2-En estilo de diseño Tabular
3-Repitiendo etiquetas de elementos:
| [...]En esta ocasión te deseo consultar que codigo utilizar para poner mi tabla dinamica de forma tabular, quitar los subtotales y repetir las etiquetas.[...] |
Partimos de una tabla como origen de datos con cuatro campos: Fechas, Conceptos, Categorías e Importe,
a partir de la cual hemos construido una tabla dinámica con dos campos en el área de filas:
Conceptos, Categorías
y el campo de Importe en el área de valores resumido por suma.
El aspecto de la tabla dinámica es que aparecen los subtotales por defecto, no se repiten las etiquetas de elementos y tiene un diseño Compacto.
Con la macro siguiente que incluimos en un módulo estándar de nuestro proyecto conseguiremos los tres puntos que requiere el lector:
Sub OpcionesTablaDinamica()
Dim PT As PivotTable
Dim PF As PivotField
On Error Resume Next
'Definimos el objeto Tabla dinámica sobre el que trabajar
Set PT = Application.ActiveSheet.PivotTables(1)
'cambiamos a diseño Tabular
PT.RowAxisLayout xlTabularRow
'exigimos se repitan las etiquetas
PT.RepeatAllLabels xlRepeatLabels
'quitamos los subotales de todos los campos...
For Each PF In PT.PivotFields
PF.Subtotals(1) = True
PF.Subtotals(1) = False
Next PF
End SubEl resultado tras ejecutar la macro es el esperado:
Otra posibilidad para eliminar los subotales sobre un campo en concreto:
Sub OpcionesTablaDinamica()
Dim PT As PivotTable
Dim PF As PivotField
On Error Resume Next
Set PT = Application.ActiveSheet.PivotTables(1)
PT.RowAxisLayout xlTabularRow
PT.RepeatAllLabels xlRepeatLabels
'quitamos el Subtotal solo del campo 'concepto'
With PT.PivotFields("concepto")
.Subtotals(1) = True
.Subtotals(1) = False
End With
End Sub



excelente me sirvio demasaidado!!
ResponderEliminar;-)
Eliminarme alegro te sirviera
Saludos