Foros del Web » Soporte técnico » Ofimática »

Procedimiento para actualizar tabla dinámica en Excell 2007

Estas en el tema de Procedimiento para actualizar tabla dinámica en Excell 2007 en el foro de Ofimática en Foros del Web. Saludos. Tengo un archivo en Excell 2007 y carga unos datos de un software. La cosa es que para poder ver los datos actualizados en ...
  #1 (permalink)  
Antiguo 10/05/2009, 16:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 122
Antigüedad: 16 años, 7 meses
Puntos: 1
Procedimiento para actualizar tabla dinámica en Excell 2007

Saludos.

Tengo un archivo en Excell 2007 y carga unos datos de un software. La cosa es que para poder ver los datos actualizados en el archivo Excell es necesario, darle click derecho a la tabla y luego clic en la opción actualizar.

Mi pregunta es: ¿Éxiste algún procedimiento para mantener actualizada la tabla cada cierto tiempo, sin necesidad de estar dando clic derecho actualizar?

Gracias por sus aportes.
  #2 (permalink)  
Antiguo 04/12/2012, 16:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:03.