Как остановить «сложный» макрос (не удалось решить эту проблему с существующими темами) - PullRequest
0 голосов
/ 14 июня 2019

У меня есть код следующей структуры:

  • UserForm1 с некоторыми полями и кнопкой запуска
  • При нажатии кнопки запуска запускается функция, и через некоторое время оназапускает другую функцию внутри себя (извлечение некоторых данных из сети, использование DoEvents во время загрузки веб-страниц и циклического перемещения по данным).Кроме того, появляется другая UserForm2.
  • UserForm2 содержит статус выполнения кода и кнопку для остановки выполнения и выхода из всех функций.

Проблема в том, что я не могу заставить UserForm2 реагироватьк пользовательскому вводу (не могу нажать кнопку остановки, чтобы установить «isCancelled» глобальную переменную в True) независимо от того, что я пытаюсь.Может быть, это не реагирует, потому что код выполняется не из UserForm2, а из функций UserForm1 и другого модуля?(Я абсолютно не эксперт в кодировании).

Так что мне нужно просто: прекратить циклы очистки данных, закрыть обе пользовательские формы и выйти из подпрограммы.

...