今天有个老客户提出需求:
模块:sub 过程A( )
①如果是单独使用时则显示msgbox选择消息框
②如果A过程调用B过程,则不显示消息框,默认选择是
msgbox没有设置默认值这个功能,msgbox也没有参数可以失败是用户点击还是代码调用,大家想想应该怎么实现?
实现思路:增加一个可以辨别直接使用和代码调用的参数即可
当然,我们要设置代码调用的代码块和被调用的代码块
被调用的代码块设置为
Sub 被调用得代码()
If 代码调用 = 1 Then
结果 = 1 '默认选择是
Else
结果 = MsgBox("你是否很牛逼?", vbYesNo, "dadad")
End If
'用来执行代码
Debug.Print 结果
End Sub
调用的代码块设置为
Dim 代码调用
Sub 测试()
代码调用 = 1
'本代码块其他执行代码
Call 被调用得代码
'本代码块其他执行代码
代码调用 = 0
End Sub
单独调用:显示弹窗,用户选择
调用代码:无弹窗,默认值1
直接复制到你的VAB里,试试是否能实现?记得支持下大表格
===================本期代码学习==================
Dim 代码调用
Sub 测试()
代码调用 = 1
'本代码块其他执行代码
Call 被调用得代码
'本代码块其他执行代码
代码调用 = 0
End Sub
Sub 被调用得代码()
If 代码调用 = 1 Then
结果 = 1 '默认选择是
Else
结果 = MsgBox("你是否很牛逼?", vbYesNo, "dadad")
End If
'用来执行代码
Debug.Print 结果
End Sub