VBA中End语句的替代方法

时间:2015-01-20 22:40:45

标签: vba excel-vba excel

我有一个调用模块的过程。像这样:

步骤:

Sub Procedure()

    Module1.SubProcedure()

    If Global.Variable = "A" Then
        ...
    End If

End Sub

模块1:

Sub SubProcedure()

    If x then 
        Exit Sub
    ElseIf y then
        End
    End If

End Sub

使用'结束'重置Global.Variable。有没有替代' End'哪会停止执行Procedure()并保留Global.Variable的值?

1 个答案:

答案 0 :(得分:3)

您可以使用Function作为过程的类型,然后返回如下布尔值:

Function SubProcedure() as Boolean

    If x then 
        SubProcedure = false
    ElseIf y then
        SubProcedure = true
    End If

End Function

并将这些行添加到过程代码中:

if module1.subprocedure then
   exit sub
end if