Это Excel 2003. Я хотел бы знать, сколько времени потребуется для завершения внешнего запроса, а затем обновить ячейку в моей таблице с помощью этого ET. У меня есть следующие, но он не работает, потому что ET только до тех пор, как он принимает, чтобы начать обновление:Excel: сообщение VBA и refreshall закончилось?
Sub Refresh()
Dim StartTime, EndTime, ET
StartTime = Timer
ActiveWorkbook.RefreshAll
EndTime = Timer
ET = Format(EndTime - StartTime, "Fixed")
Range("H27").Value = ET
MsgBox (ET)
End Sub
Так ЕТ около 1 вторых, даже если данные выборки принимает хорошие 10 минут.
Легкий выход - это установить фоновое обновление в значение false, но это блокирует все приложение и делает жизнь несчастной в течение длительного времени.
Есть ли какой-либо сигнал или исключение, которое я могу поймать в VBA, который указывает «о, обновление фона сделано, теперь вы можете остановить свой таймер и вычислить ET»?
Спасибо!