lunes, septiembre 06, 2010

Diseño clásico de tablas dinámicas en Excel 2007

En relación a la nota anterior sobre el tema, un lector me consultaba si era posible cambiar el diseño por defecto de las tablas dinámicas en Excel 2007 de manera que se abrieran con el diseño "clásico" (Excel 2003) y que también se pudieran arrastrar los campos, como era posible en el Excel Clásico.

En la nota anterior pasé por alto un detalle importante que da respuesta a las dos inquietudes de mi lector.

Al crear una tabla dinámica en Excel 2007, el diseño por defecto es el siguiente



Para cambiar el diseño al del Excel Clásico, en lugar de usar los estilos de tablas dinámicas como mostramos en la nota anterior, podemos usar el formulario Opciones de Tablas Dinámicas



En la pestaña "Mostrar" marcamos la opción "Diseño de tabla dinámica clásica". Esta opción no sólo cambia el diseño de la tabla sino que también permite arrastrar los campos, incluidos los campos de página, tal como lo hacíamos en las versiones anteriores de Excel. Una vez activada esta opción la tabla se verá así



Nótese que ahora los rótulos de los campos de columnas son visibles y es posible arrastrarlos. Lo mismo con los campos de página.

Este video muestra el proceso



Otro "tip" para los nostálgicos del Excel Clásico. En Excel 2007 se puede activar el "viejo" asistente de tablas dinámicas apretando el atajo de teclado Alt+T+B.

7 comentarios:

  1. Buenas, después de un tiempo alejado del foro vuelvo por aquí...he estado leyendo las útilas entradas a cerca de las Tablas Dinámicas y, aprovechando este tema quería plantearte una duda que me surgió hace unas semanas mirando ejemplo de Tablas dinámicas.

    Adjunto un enlace a una captura para que se pueda ver el problema:

    http://www.subirimagenes.com/otros-screenshot1-5161641.html

    Tengo la base de datos que se aprecia, y la tengo idéntica (cono distintos datos, claro), en la Hoja 2 y quiero unirlas como una Tabla Dinámica mediante la opción deRangos de Consolidación (con el asistente de Tablas Dinámicas); sin embargo cuando acabo el proceso me sale una tabla muy rara y no me permite arrastrar todos los campos; por ejemplo, yo quiero que me queda la tablita que aparece en la hoja 1 de la captura, pero no lo consigo..

    Si me puedes ayudar (en el propio blog o por privado), te lo agradecería..

    ResponderBorrar
  2. Miguel,
    la opción Rangos de Consolidación produce tablas dinámicas con funcionalidades limitadas y tiene poco uso. Creo que ese es uno de los motivos por los que Microsoft ha hecho difícil encontrar esta opción en Excel 2007.
    Hay varias alternativas para consolidar rangos de distintas hojas en una tabla dinámica. La más sencilla sería copiar todos los datos a una única hoja y a partir de ésta crear la tabla.
    En los próximos días estaré publicando algo sobre el tema.
    Otra cuestión: como siempre insisto, esto no es un foro sino un blog. Por lo general es más conveniente plantear consultas en un foro donde podrás recibir varias respuestas, no sólo la mía.

    ResponderBorrar
  3. Gracias Jorge por la respuesta, estará atento a la entrada que publiques sobre este tema...
    La razón de publicar mi duda en tu blog es que este es el único sitio en Internet que me parece que ofrece verdaderamente soluciones satisfactorias y tutoriales novedosos sobre la hoja de cálculo (no cuento las páginas en inglés, que yo ando muy limitado de idiomas).

    ResponderBorrar
  4. Graciaspor los conceptos. Me alegro que el blog te resulte útil.

    ResponderBorrar
  5. Tengo el Excel 2010 y si hay algo a lo que no me acostumbro es al
    diseño de la tabla dinámica, por lo que siempre que creo una lo cambio
    al diseño clásico. Me he creado una macro pero no se como poner para
    que me sirva para cualquier libro o tabla.
    Lo que quiero es poner un botón en la barra de herramientas de acceso
    rápido y que pueda usar con cualquier nueva tabla que cree.
    Sub Macro2()
    '
    ' Mostras_diseño_clasico Macro
    '
    '
    Range("A3").Select
    With ActiveSheet.PivotTables("Tabla dinámica8")
    .InGridDropZones = True
    .RowAxisLayout xlTabularRow
    End With
    End Sub
    Saludos
    Juanjo

    ResponderBorrar
  6. Juanjo,

    para que la macro funcione para todo cuaderno, tenés que ponerla en el cuaderno Personal.xlsm.
    En cuanto a tu macro, sólo funcionara para la tabla dinámica 8. Para hacer la macro general, tenés que cambiar el código a algo más general como

    Sub td_clasica()
    Dim ptCount As Integer, iX As Integer

    ptCount = ActiveSheet.PivotTables.Count

    For iX = 1 To ptCount
    With ActiveSheet.PivotTables(iX)
    .InGridDropZones = True
    .RowAxisLayout xlTabularRow
    End With
    Next iX

    End Sub

    ResponderBorrar
  7. Muchísimas gracias Jorge por la solución. La compartiré, ya que me parece muy útil para los que trabajamos mucho con tablas dinámicas.
    Un saludo y felicidades por la página.
    Juanjo

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.