VBA Макросы: Окончание основной процедуры из другой процедуры.

Автор Rengame113, 30 июля 2018, 11:02

Rengame113

Как прекратить выполнение основной процедуры из процедуры?
Пример:
Код-схема
Sub макрос1 ()
    процедура1
end sub

Sub процедура1()
    if выполняется then
    продолжаю
    else ()
    end sub макроса 1
end sub
[свернуть]

Администратор

Нужно использовать функцию вместо процедуры. Затем читаете, что возвращает функция.

Код
Sub макрос1()
    If процедура1 = False Then
        Exit Sub
    End If
End Sub

Private Function процедура1() As Boolean
    If выполняется Then
        ' продолжаю
    Else
        ' В переменной-функции в этом случае будет False.
        Exit Function
    End If
    ' Запись True в переменную-функцию.
    процедура1 = True
End Function
[свернуть]

Rengame113

Предложенный вами способ создает вот такую конструкцию.
В функции отрабатывается и выходит обратно в процедуру1 продолжая код. А мне надо если там ложь, то чтобы все остановилось.

Спойлер
Sub макрос1 ()
    процедура1
end sub

Sub процедура1()
    код
    функция
    код

end sub
[свернуть]

Администратор