Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/12/2012, 16:41
nire24
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Procedimiento para actualizar tabla dinámica en Excell 2007

Hola, yo lo logre de esta forma.

1._ crear un macro que actualice la tabla dinámica
2._ Luego meter un poco de código (programación) para que repita ese macro cada x tiempo (en mí caso es cada 10 segundo)

* Tambien le agregue un contador para que me diga cuanto falta para que se actualice la tabla, esto es opcional, no afecta en nada. Solo lo hice para que el usuario sepa que excel sigue trabajando y no se tilde.

Espero te haya ayudado.
Abrazo.-

Mucha luz para todos !!!


Entras el editor de Visual Basic de la pestaña Programación, si no la ves presiona Alt + F11

Luego en el modulo haces doble clic y copia y pega esto

Public datHora As Date
Public pro As String

Sub StartTemporizador()
datHora = Now + TimeSerial(0, 0, 10) 'Aca le pones el tiempo que vos quieras, en mi caso 10 segundos
pro = "Tu_Sub"
'iniciar el temporizador
Application.OnTime _
Earliesttime:=datHora, _
Procedure:=pro, _
Schedule:=True

End Sub

Sub Tu_Sub()
'Actualizo tabla dinámica
ActualizarTablaDinamica
'reiniciar el temporizador
StartTemporizador
End Sub

Sub ActualizarTablaDinamica()
' ActualizarTablaDinamica Macro
ActiveSheet.PivotTables("Tabla dinámica2").PivotCache.Refresh
End Sub

Sub crono()
tiempo = Now + TimeValue("00:00:01")
Application.OnTime tiempo, "calcular"
End Sub

Sub calcular()
Range("g11").Value = Range("g11").Value - 1.15740740740805E-05
If Range("g11").Value <= 0 Then
Range("g11") = "00:00:10" 'colocar el tiempo que se desea que empieza el contador pararestar
End If
Call crono
End Sub




Luego en ThisWorkbook haces doble clic y copia y pega esto:


Private Sub Workbook_Open()
Range("g11") = "00:00:10"
StartTemporizador
crono
End Sub


Listo cada 10 segundos desde que abris el libro de excel se te va a actualizar la tabla dinámica

No encontre como adjuntarte un ejemplo, ya que te sería más facil, si queres pasame el mail y te lo paso.

Abrazo.