Sto creando un codice in cui posso fare clic su un singolo pulsante e aggiornerà i set di query che ho su quel foglio.Excel vba refresh wait
Ora, il mio problema è che ho più codice dopo il nuovo che copia alcune informazioni, ma questo codice viene eseguito subito dopo l'aggiornamento è stato avviato e le informazioni non sono state ancora sostituite.
Desidero creare un periodo di attesa per il completamento dell'aggiornamento e quindi il resto del codice può continuare.
Non voglio aspettare solo per 5 secondi, ma per il periodo rinfrescante, in modo che io non sto aspettando troppo a lungo o troppo corto, a seconda della velocità di Internet, ecc
Come posso fare questo?
Edit:
codice semplice:
ActiveWorkbook.RefreshAll
Qui ho bisogno il ritardo o il codice in attesa finché tutta la rinfrescante è finito ... Poi
MsgBox("The Refreshing is Completed!")
Qualcosa in quel direzione. Ma non può dire il msgbox prima che sia effettivamente finito .... A volte, a seconda della velocità di internet, l'aggiornamento richiede meno tempo o più, quindi voglio che sia una variabile del tempo di aggiornamento effettivo.
Si sta utilizzando 'querytable.refresh false' per specificare un non-aggiornamento in background? –
fino ad ora solo ActiveWorkbook.RefreshTuttavia ma ho bisogno di un ciclo da controllare al termine dell'aggiornamento. Quello è come ho immaginato – dave123
Si può essere in grado di farlo da rinfrescanti singolarmente' 'per i = 1 a ActiveWorkbook.querytables.count: ActiveWorkbook.querytables (i) .Refresh falso: next' –