Страницы: 1
RSS
Прекратить выполнение процедуры, если не выполнена другая запущенная процедура
 
Привет, уважаемые форумчане.
Такая ситуация.
Есть макрос, который в процессе работы запускает другой макрос.
Во втором макросе есть условие. Если оно не выполнено, второй макрос останавливается (Пока через exit sub).
После чего, продолжается выполенение первого макроса.
Как сделать, чтобы выполнение первого макроса тоже прекращалось?
Изменено: VVS_001 - 23.01.2020 18:13:19
 
Оператор End прекращает работу всех макросов
 
vikttur, Спасибо!
На самом деле я пробовал END, но после вашего сообщения дошло, что у меня есть еще одно условие и там стоял exit)))
 
С передачей "сигнала"
Код
Sub test1()
    Dim bFlag As Boolean
    
    Call test2(bFlag)

    If bFlag = False Then
        MsgBox "уходим"
        Exit Sub
    Else
        MsgBox "еще поработаем"
    End If
End Sub

Sub test2(bFlag As Boolean)
    Dim i As Long, k As Long

    i = 5
    k = 25

    If i = k Then bFlag = True
End Sub
 
Только при применении End надо помнить, что все переменные сбрасываются. Я имею ввиду тот момент, что и Public, Static переменные тоже. И если им были назначены где-то ранее какие-то значения - надо будет их назначать заново.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх