Страницы: 1
RSS
Привязать к "ДА" MsgBox запуск макроса
 
Добрый день.

помогите решить проблему .
Написан макрос, для обработки данных - макрос работает
хотел его привязать к msgbox  А сам msgbox к активации листа На активацию листа прописан макрос который вызывает сообщение msgbox
Код
Private Sub Worksheet_Activate()
Call refresh_msgboxEnd Sub
[А вот сам msgbox
Код
If MsgBox("Îáíîâèòü èíôîðìàöèþ äî Àêòóàëüíîé?", vbOKCancel, " - Refresh") = vbYes Then refresh_l
If MsgBox("Îáíîâèòü èíôîðìàöèþ äî Àêòóàëüíîé?", vbOKCancel, " - Refresh") = vbNo Then
"Refresh_l"- название макроса который обрабатывает данные

Помогите правильно написать макрос для активации листа с msgbox и для запуска макроса по условию что нажмут на YES

Спасибо
Изменено: Homavi - 04.10.2019 22:00:20
 
Код
If MsgBox("Запустить макрос?", vbYesNo + 32, "Выш выбор?") = vbYes Then Call макрос1


Копируйте код при русской раскладке клавиатуры.
 
Юрий М, все заработало, НО почему то он еще раз октрывает данный msgbox после макроса
 
У меня только один раз )
Покажите оба кода.
 
Код
Private Sub Worksheet_Activate()
Call refresh_msgbox
End Sub

Sub refresh_msgbox()
If MsgBox("Обновить информацию до Актуальной?" & Chr(10) & "Обновление займет примерно 3 минуты.", vbYesNo + 32, "Refresh") = vbYes Then
Call refresh
Call Pivottable
Else: Exit SubEnd If
Sheets("statistic").SelectEnd Sub
Макрос на активации страницы
Изменено: Homavi - 23.02.2017 17:15:52
 
Что-то Вы перемудрили: строку с MsgBox с вопросом напишите на событие активации листа. Если ответ положительный - вызываем нужный макрос. Иначе выход. Не нужна отдельная процедура.
 
В модуль листа. Дополнительная процедура не нужна.
Код
Private Sub Worksheet_Activate()
    If MsgBox("Запустить макрос?", vbYesNo + 32, "Выш выбор?") = vbYes Then
        Call макрос1
        Call макрос2
    End If
End Sub


 
Юрий М, понял в чем ошибка.
макрос который выполняет обработку данных , после завершения возвращается на страницу где вылезает сообщение.
Поэтому это замкнутый круг ((

можно ли отменить повторный запуск окна msgbox ?
 
Можно. Например, добавьте переменную-флаг. Или отключайте события.
 
Код
Private Sub Worksheet_Activate()
    If MsgBox("Запустить макрос?", vbYesNo + 32, "Выш выбор?") = vbYes Then
        Application.EnableEvents = False
        Call макрос1
        Sheets("Лист2").Activate
        Call макрос2
        Sheets("Лист1").Activate
    End If
    Application.EnableEvents = True
End Sub



 
а можно кнопку Справка привязать к макросу. например для запуска UserForm, чтобы справка в окне выскакивала?
Изменено: vaspup88 - 05.10.2019 10:22:05
Страницы: 1
Наверх