Это Excel 2003. Я хотел бы знать, сколько времени требуется для выполнения внешнего запроса, а затем обновить ячейку в моей электронной таблице с этим ET.У меня есть следующее, но это не работает, потому что ET требуется только столько времени, сколько требуется для запуска обновления:
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
Таким образом, ET составляет около 1 секунды, даже если выборка данных занимаетхорошие 10 минут.
Самый простой выход - установить фоновое обновление на false, но это блокирует все приложение и делает жизнь несчастной на долгое время.
Есть ли какой-нибудь сигнал илиИсключение, которое я могу отловить в VBA, которое указывает «о, фоновое обновление выполнено; теперь вы можете остановить таймер и вычислить ET»?
Спасибо!