04/12/2012, 16:41
|
| | Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 15 años, 4 meses Puntos: 0 | |
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. |