Actualización de consulta
Resuelto
Bonjour,
Tengo un pequeño problema con una macro en VBA.
En realidad se presenta así:
El gran problema es que la actualización de la consulta solo se realiza al final del script.
La hago así:
He intentado otras cosas, como declarar esta actualización en una función y llamarla en el procedimiento de la macro... O incluso usar una macro que llame en orden la macro de actualización y luego otra macro donde se encuentran el resto de las instrucciones, pero no cambia nada, siempre tengo el mismo efecto.
¿Tendrían alguna idea?
Gracias.....
Tengo un pequeño problema con una macro en VBA.
En realidad se presenta así:
sub macro() Declaración de variables Colocación de la selección en la primera celda Actualización de la consulta Instrucciones.... end sub
El gran problema es que la actualización de la consulta solo se realiza al final del script.
La hago así:
Selection.QueryTable.Refresh
He intentado otras cosas, como declarar esta actualización en una función y llamarla en el procedimiento de la macro... O incluso usar una macro que llame en orden la macro de actualización y luego otra macro donde se encuentran el resto de las instrucciones, pero no cambia nada, siempre tengo el mismo efecto.
¿Tendrían alguna idea?
Gracias.....
Configuración: Windows 2000 Excel 2000
6 respuestas
-
Moderador¡Ya lo encontré :-)
No debe realizarse la actualización de la consulta en segundo plano:Selection.QueryTable.Refresh BackgroundQuery:=False
-
Colaborador¿Quieres decir que inicias la actualización de la consulta, pero en cualquier momento el código sigue su curso y no espera a que termine esta actualización?
--
¡MONEDA! -
ModeradorUp :-)
-
ModeradorTotalmente :-)
Dondequiera que coloque la actualización, solo se ejecuta al final de la macro.....
Por lo tanto, todas las siguientes instrucciones realizan procesos en vano.... -
ColaboradorNo hay una instrucción tipo wait posible en VBA.
--
¡MONEDA! -
ModeradorAcabo de intentar con esto:
http://www.ilook.fsnet.co.uk/vb/vbsleep.htm
La espera se realiza, pero la solicitud solo se ejecuta al final, como antes.....