Страницы: 1
RSS
По нажатию на кнопку отмена (Cancel) на UserForm необходимо чтобы было выведено сообщение
 
Доброго дня
Имею кнопку Отмена (Cancel) в UserForm c кодом в модуле
Код
Private Sub CancelButton1_Click()
Me.Hide
End Sub

Имею макрос который вызывает выше указанный UserForm и выполняет код:
Код
Sub MyMacros()
UserForm1.Show

' Если кнопка Отмена не была нажата , тогда выполняеться этот код
MsgBox ("Макрос  выполнялся")

' Если была нажата кнопка отмены то необходимо выполнить этот код а код выше не выполнять
MsgBox ("Макрос не выполнялся")

 Unload UserForm1
End Sub

С использованием чекбокса разобрался:
Код
Dim Revers As Boolean
     Revers = InsertingWords.CheckBoxRevers.Value
     If Revers = False Then
MsgBox ("Выполнение кода1")
Else 
MsgBox ("Выполнение кода2")
End If

, возможно ли также или аналогично сделать с кнопкой Отмена если да то как? Какие есть еще варианты решения этого?

По нажатию на кнопку отмена (Cancel) пользовательского окна (UserForm) необходимо что б основная часть макроса не выполнялась, а было выведено сообщение "Макрос не выполнялся".
Подскажите пожалуйста, как реализовать?
 
Создаете глобальную переменную вроде, затем перед запуском формы назначаете ей значение False. В код нажатии кнопки ОК формы назначаете этой переменной значение True. А потом просто проверяете. Что-то вроде:
Код
Public IsFomrEventsOk As Boolean
Sub MyMacros() 
IsFomrEventsOk = False
UserForm1.Show
 
' Если кнопка Отмена не была нажата , тогда выполняеться этот код
If IsFomrEventsOk = False then
MsgBox ("Макрос  выполнялся")
Else
' Если была нажата кнопка отмены то необходимо выполнить этот код а код выше не выполнять
 
MsgBox ("Макрос не выполнялся")
End If
Unload UserForm1
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо
Страницы: 1
Наверх