Вопрос № 147368: Здравствуйте эксперты. Возможно вопрос очень простой но победить не могу Есть лист с таблицей, над которой выполняеться макрос. необходимо остановить выполнение, вывести сообщение с кнопкой ОК, вручную поправить данные в даблице, потом нажать к...
Вопрос № 147.368
Здравствуйте эксперты. Возможно вопрос очень простой но победить не могу Есть лист с таблицей, над которой выполняеться макрос. необходимо остановить выполнение, вывести сообщение с кнопкой ОК, вручную поправить данные в даблице, потом нажать кнопку и продолжить выполнение макроса. Все выскакивает нажимаеться но не могу править пока не остановлю выполнение макроса, лист не активен.
Отвечает: PsySex
Здравствуйте, Хот Сергей Николаевич! Видимо вы сообщение выводите с помощью функции MsgBox ;-) Предлагаю следующий вариант. Создаете форму сообщения, на которой размещаете текст и кнопку OK. В событие кнопки прописываете выгрузку формы Unload Me Где нужно вывести сообщение добовляете следующий код
Код:
UserForm1.Show (0)'вызываем форму не модально Do While UserForm1.Visible = True 'крутим цикл пока форма видна, при этом доступ к листу не блокируется DoEvents 'обрабатываем системные события, чтоб не возникало ситуации "зависшего" приложения Loop MsgBox "Continue:-)" продолжаем выполнение макроса после закрытия формы
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Специалист)
Ответ отправлен: 16.10.2008, 09:00 Оценка за ответ: 4 Комментарий оценки: ответ конечно верный я в принципе как то так и думал, но мне не как специалисту хотелось бы просто готовый кусочек чтоб забросить в макрос и забыть т.к. никогда этого не делал , а как форму прописать т.е. готовое полностью решение, а я уже надпись координаты и цвет сам поменяю