
本文于2023年3月2日首发于本人同名公众号:Excel活学活用,敬请关注!
今天跟大家分享一个Excel VBA自定义函数,
这个函数的功能是,当你要执行一段代码的时候,给你一个再次确认的机会,防止误操作,特别你的代码是要大量打印、查询运算的时候,有你一阵手忙脚乱的......

代码如下:
在模块1里:
Function wContinue(Msg) As Boolean '确认继续函数 Dim Config As Long Dim a As Long Config = vbYesNo + vbDefaultButton2 + vbQuestion Ans = MsgBox(Msg & Chr(10) & "是(Y)继续" & Chr(10) _ & "否(N)返回!", Config, "请确认操作!") wContinue = Ans = vbYesEnd Function
在命令按钮里:
Private Sub CommandButton1_Click() If Not wContinue("即将执行确认?") Then MsgBox "你点了【否(N)返回】!程序退出!" Exit Sub End If MsgBox "你点了【是(Y)继续】!"End Sub
简单解释一下代码:
Function wContinue(Msg) As Boolean
该自定义函数返回一个逻辑值,True or False
msg是我们可以任意输入的一个提示字符串,在这里就是
"即将执行确认?"
然后通过msgbox 这个函数来获取我们点击的按钮(vbYesNo)并返回相应的结果。
我们根据点击的按钮,决定后续操作。在CommandButton1里为了演示效果,我们写了一个MsgBox代码,实际上,我们一般这样写就可以了:
If Not wContinue("即将执行确认?") Then Exit Sub
这个Function wContinue(Msg) As Boolean可以直接拿去使用,函数名称也可以改成你喜欢的。示例文件我放在下面,有需要的可以自行下载。
网址限制,请自公众号查看。