Excel VBA工作薄 6.2利用msgbox窗口 实现简易用户对话功能

前景提要

昨天我们分享了vba中msgbox的简单的使用方法,在昨天的学习中,我们知道了msgbox的几个不常用的参数,当时我们说在简单的弹窗提示的时候,是不需要这么多复杂的功能的,但是在进行用户对话窗体的过程中,这些功能就比较使用了,但是一个简单的弹窗如何实现用户对话交互功能呢?很简单,换一种写法就可以了。

场景模拟

假设我们现在要做一个简单的计算,方法不确定

但是不一定就是加法,也不一定就是减法,所以在写代码的 过程中,我们就不能够将这个操作写死了,如果写死的话,就非常的不灵活了,不可能要用减法的时候,你去代码中改成减法,结果下次要用加法的时候,你再去改成加法运算吧,这是一个非常low的代码,那么如何提升通用性呢?

很简单,这时候我们设计一个简单的对话窗体,让使用者来根据自己的需要进行选择他想要的方法,既然是简单的窗体,我们就不需要制作窗体了,直接用msgbox来实现,来看代码

代码区

Sub jisuan()Dim result$result = MsgBox("请选择要进行的运算方法,Y执行加法,N执行减法,退出选择取消", vbYesNoCancel, "运算方式的选择")If result = vbYes Then Cells(7, 4) = "+" Cells(7, "g") = Cells(7, 3) + Cells(7, 5) ElseIf result = vbNo Then Cells(7, 4) = "-" Cells(7, "g") = Cells(7, 3) - Cells(7, 5) Else Cells(7, 4) = "" Cells(7, "g") = "" Exit SubEnd IfEnd Sub

来看看效果,假设我们想要做加法运算

点击按钮能,之后出现弹窗,有三种操作可供选择,Y代表加法,N代表减法,如果还没有想好,就选择取消退出程序,来试下加法

再来试下减法

如果还没有想好呢

非常完美,通过msgbox成功实现了和用户之间对话式的交互效果,这样我们的代码的通用性就更加的高了。

代码分析

result = MsgBox("请选择要进行的运算方法,Y执行加法,N执行减法,退出选择取消", vbYesNoCancel, "运算方式的选择")

今天的关键代码之一就是这一句话

利用之前的msgbox窗体,msgbox其实是由返回值的,我们这里用result来承接msgbox返回的结果

这里新增一个知识点,vbYesNoCancel

他的作用是形成有三个选项的窗体

这个方法的选项还有很多种,大家在使用的过程中可以根据使用自己想要的模式

然后当用户做出了选择之后,result就会得到一个返回值,如果选择Yes,返回的结果就是VBYES,如果选择的是NO ,返回的就是VBNO,如果选择了退出就只能退出程序了。

之后就是最简单的加减法的运算了。大家都能够看懂了。

(0)

相关推荐