Tabla dinámica

Hola jorge
Estoy utilizando esta macro, pero no se como determinar la secuencia de actualización de
las tablas dinámicas, ya que al parecer es aleatorio o por medio de una propiedad que desconozco, les agradecería que me ayudasen a controlar esta secuencia saludos a todos
Sub RefreshAllPivotTables()
Dim PT As PivotTable
Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        For Each PT In WS.PivotTables
          PT.RefreshTable
        Next PT
    Next WS
End Sub

1 Respuesta

Respuesta
1
Te pido por favor ser más explícito en lo que pretendes hacer.
No me expliques lo que es una secuencia o esta macro.
Dime lo que deseas hacer y con gusto lo vemos.
Deseo trabajar con los datos de algunas tablas dinámicas pero en forma secuencial, el problema es que se me actualizan a destiempo y me falta data en el reporte final, quisiera saber como se programa para que cada tabla dinámica se actualice de forma ordenada o sea t1, t2, t3, t4,..., t21
Si las tienes en diferente hoja:
Sub Macro1()
    Sheets("Sheet1").Select
    ActiveWorkbook.RefreshAll
    Sheets("Sheet2").Select
    ActiveWorkbook.RefreshAll
    Sheets("Sheet3").Select
    ActiveWorkbook.RefreshAll
    Sheets("Sheet4").Select
    ActiveWorkbook.RefreshAll
End Sub
Si están en la misma hoja:
ActiveWorkbook.RefreshAll
    ActiveSheet.PivotTables("Tabla dinámica6").PivotSelect "'ACQ PO'[All]", _
        xlLabelOnly, True
    ActiveWorkbook. RefreshAll
Disculpa jorge, todas las tengo en la misma hoja
ActiveWorkbook.RefreshAll
    ActiveSheet.PivotTables("Tabla dinámica6").PivotSelect "'ACQ PO'[All]", _
        xlLabelOnly, True
    ActiveWorkbook.RefreshAll
Todas las he denominado de la siguiente manera
T1_math
T2_algoritm
T3_tree
Buscando que con el numero se actualicen progresivamente pero no lo he conseguido que me planteas acá, que lo haga seleccionando tabla por la tabla
Lo que te "planteo" es una solución para actualizar tantas tablas dinámicas como puedas tener, en una o varias hojas, con un solo click.
Jorge yo quiero usar el comando .RefreshAll pero de forma tal que todas las tablas se vayan actualizando de forma progresiva (y no colocar muchas lineas de programación) ya que si se actualiza una por encima de la otra el calculo se me complica intente colocándole numero al comienzo de los nombres la tabla en el campo options pero siempre se me actualiza una que no es la que le coloque el numero menor
Te agradezco mucho la atención
Saludos
David
David,
No entiendo que quieres decir con "no colocar muchas líneas en la programación" ya que la otra forma de hacerlo sin ningún problema es con un "delay" pero tendrías que agregar más líneas.
Las líneas en la programación no ocupan espacio en el archivo, es como si tienes texto.
En caso que quieras que se actualice una tabla, poner un delay de los segundos que gustes, actualizar la siguiente, poner otro delay, actualizar la siguiente, etc. me avisas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas