Я застрял на этом бите и не знаю, как его преодолеть. Я должен быть в состоянии сделать паузу и возобновить мой код. Я пошел с этой идеей, чтобы поместить значение в ячейку, которую будет использовать время ожидания приложения.
Этот бит в порядке и работает
Dim i As Integer
Dim Response As Integer
Sheets("Sheet3").Range("Z1").Value = "01:00:00" 'will place 1hr wait time in Sheet3 Z1
t = CStr(Range("Z1"))
Application.Wait (Now + TimeValue(t))
У меня затем есть CommandButton2 в моей пользовательской форме, которая сбрасывает время ожидания с 1 часа ожидания до 2 секунд. В теории это должно затем возобновить код с того места, где он остановился. Время ожидания находится между IE открытием и загрузкой и FOR EACH l oop, работающим , поэтому после его возобновления действие FOR EACH l oop код.
Sheets("Sheet3").Range("Z1").Value = "00:00:02" `Reset time to 2 sec from 1hr
МОЯ ПРОБЛЕМА
Я не могу нажать кнопку 2, когда время ожидания истекло. Есть ли способ, которым я мог бы сделать это так, чтобы, когда код времени ожидания работал, button2 все еще был включен для использования?
BACKGROUND
Пользователь нажимает кнопку command1 и запускается код , IE откроется и перейдет на правильную страницу. СЕЙЧАС код ждет . Так как это дает пользователю время выбирать из нескольких вариантов (слишком много, чтобы вставить код). После этого пользователь нажимает вторую кнопку команды, которая сбрасывает код до 2se c, и они могут извлечь свою информацию. Теоретически это должно продолжаться, однако я не могу нажать на вторую кнопку, пока выполняется код ожидания. Есть ли обходной путь?
Я пытался разделить код на подпрограммы, но у меня было несколько сообщений об ошибках, и я отказался от этого метода. Я посмотрел на doEvent l oop, но я ограничен в кодировании и не был уверен, как он будет работать, и если он продолжит код ИЛИ , начните с самого начала . Начиная с самого начала, я не хочу этого делать.
Заранее спасибо.
ПОСЛЕ РЕДАКТИРОВАНИЯ Это код сейчас, не уверен на 100%, если это правильно, теперь он позволяет мне изменять значение Z1 с помощью кнопки 2, но FOR L OOP не работает
До
После нажатия кнопки 2
'#################### APPLICATION WAIT ################
Dim i As Integer
Dim Response As Integer
Sheets("Sheet3").Range("Z1").Value = "01:00:00" 'will place the 1hr wait time in Sheet3 Z1
t = CStr(Range("Z1"))
'Application.Wait (Now + TimeValue(t)) 'commented out or it freezes excel
WaitUntil = Now + TimeValue(t)
Do While Now <= WaitUntil
DoEvents
Loop
'#################### APPLICATION WAIT ################
'FOR LOOP
For Each element In elements
DoEvents
```