martes, 27 de agosto de 2013

Aplazar actualización del diseño de las Tablas dinámicas en Excel.

En bastantes consultas me llegan preguntas sobre la manera de agilizar o acelerar (o al menos no ralentizar) el proceso de cálculo en nuestras Tablas dinámicas, sobre todo motivado por los cambios en el diseño de la estructura de la misma.
Y es que es habitual en Tablas dinámicas de grandes dimensiones que el proceso de resideño, moviendo los diferentes campos que componen nuestro origen dentro de las diferentes áreas de la tabla dinámica (área de filas, columnas, valores, etc), provoque una demora en su 'refresco'.

Hoy veremos una manera muy sencilla de evitar esa demora, activando o desactivando la opción de Aplazar actualización del diseño que se encuentra en la ventana de Lista de campos.
Partamos de un ejemplo sencillo para ver su funcionamiento. A partir de nuestro origen de datos hemos construido la siguiente tabla dinámica:

Aplazar actualización del diseño de las Tablas dinámicas en Excel.



Veremos en la imagen siguiente como teniendo desactivada esta opción de Aplazar actualización del diseño, cada cambio en el diseño de nuestra Tabla dinámica afecta inmediatamente en el refresco de ésta:

Aplazar actualización del diseño de las Tablas dinámicas en Excel.



En la imagen siguiente observamos el efecto de activar nuestra opción Aplazar actualización del diseño, y cómo ahora la tabla dinámica permanece estática hasta que nos decidamos a Actualizar:

Aplazar actualización del diseño de las Tablas dinámicas en Excel.



La ventaja de esta herramienta cobra importancia en Tablas dinámicas de grandes dimensiones, cuando debemos realzar varias modificaciones, y cada una de ellas consume mucho de nuestro tiempo...

4 comentarios:

  1. Tengo una duda, se podría aplazar la actualización del diseño de las Tablas dinámicas trabajando con macros, es decir alguna opción que me lo actualizara todo al final del trabajo?

    ResponderEliminar
    Respuestas
    1. Hola Juanma
      en teoria la propiedad .ManualUpdate
      PivotTables("Tabla dinámica 1").ManualUpdate = True (o False)
      haría lo mismo... pero hay bastantes 'experiencias' de usuarios que dicen lo contrario y que solo actúa como propiedad de lectura.
      Creo es a lo que te refieres...
      Slds

      Eliminar
  2. Buenas,
    Estoy utilizando esto:
    Estoy utilizando esto:
    Public Sub DesactivarActualizacion()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    End Sub

    Public Sub ActivarActualizacion()
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    End Sub

    Pero me gustaría poder tener una macro que hiciera el mismo efecto que la opción que tiene en las tablas dinámicas en los campos de tabla dinámica.
    En tabla dinámica nos sale un recuadro abajo donde nos dice " aplazar actualización del diseño" y esa viñeta la podemos habilitar o deshabilitar.
    ¿ Se podría crear algo parecido con las macros? Para que actualizara solo la macro al final del documento y no cada vez que modifiquemos algo.
    Gracias de antemano

    ResponderEliminar
    Respuestas
    1. Hola juanma
      correcto, es lo que te comentaba previamente, existe .ManualUpdate pero 'no funciona demasiado bien'..
      tus aproximaciones son el camino :'(
      slds

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.