excel - 使用 excel vba,是否有一种简单的方法可以说“如果退出任何函数或子潜艇,则退出宏”?
问题描述
我的(主)子调用了几个函数和子子。如果这些函数和子子程序中有“退出函数”或“退出子程序”行,并且当它被执行时,有没有一种简单的方法可以立即退出我的主子程序?我考虑过使用数字作为标志,但我有很多功能。有没有更简单的方法呢?
谢谢!
解决方案
我的第一个想法也是使用标志或全局变量,现在我没有看到任何更简单的方法。
所以我认为你需要做类似的事情
Option Explicit
Sub Main()
Dim exitMain As Boolean: exitMain = False
Call A(12, exitMain)
If exitMain Then
MsgBox "Exit because of A"
Exit Sub
End If
Call B(3, exitMain)
If exitMain Then
MsgBox "Exit because of B"
Exit Sub
End If
MsgBox "Reached end of main"
End Sub
Sub A(val1 As Long, cancel As Boolean)
If val1 = 2 Then
cancel = True
Exit Sub
End If
MsgBox "Reached end of A"
End Sub
Sub B(val1 As Long, cancel As Boolean)
If val1 = 3 Then
cancel = True
Exit Sub
End If
MsgBox "Reached end of B"
End Sub
推荐阅读
- java - 父类方法是否使用隐藏变量
- postgresql - 如何按给定月份获取月份的第一个日期和结束日期?
- flutter - 在flutter中将卡片高度适配为fontSize
- elixir - elixir ecto - 具有多个模式的 embed_one
- python - 计算python中列表中每个元素的单词出现次数
- powershell - Powershell 检测方法 - 文件路径是否存在,如果存在,请检查文件大小
- javascript - 基于几个多选框过滤结果,vue
- marklogic - 执行 mlDeploy 时 ml-gradle 调用哪个端口号
- python - 在 Python 中分组
- c# - 在 SQL 数据库中设置用户表和其他表(如客户端)之间的关系