помогите решить проблему . Написан макрос, для обработки данных - макрос работает хотел его привязать к 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
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
Что-то Вы перемудрили: строку с 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