我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。
如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了。
VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.10:人机对话的实现
【分享成果,随喜正能量】烦恼生起时,越是苦恼逃脱,苦恼就越来愈多。认真面对,坦诚接纳,以烦恼滋养自己,就是成长。。
3.2.10 人机对话的实现
在VBA中,我们利用代码来解决实际问题,有些实际问题需要我们根据程序的进度来决定下一步的运行。那么如何判断程序运行的进度呢?就是可以在某个节点提示给用户设定好的提示信息或者某个变量的值。这其中最为重要的就是MagBox函数了。其实在《VBA代码解决方案》中关于MagBox的讲解是非常详尽的。大家可以根据教程来认真的学习。利用这个对话框我们可以实现的作用有:
1 提示给用户信息。这种提示只是简单的提示,提示的内容有程序中设定的信息或者某个变量的值。
2 需要用户判断过程,这个时候往往会要求用户进行判断,如下面的截图:
这个时候,当用户选择“是”,程序是一种运行结果,当选择其他按钮的时候程序会执行其他的运行结果。这种用户的选择就是需要返回给程序的结果。
当然,对于第一种情况,虽然也返回给程序结果,但这种结果没有实际的意义,只是程序运行过程的节奏而已。
在程序的实际运行过程中,还有需要用户录入信息的,这就是InputBox函数,这是在程序交互过程中,用户和后台程序交流的一种方案。类似的方案就是窗体了,窗体是可以实现比较复杂的人机交互,而InputBox对话框只能实现一种简单的录入模式。一般的录入模式如下:
我们在利用VBA进行实际问题操作的时候,务必要灵活地运用两个人机对话框。
最后我们再看看两个对话框的比较:
Msgbox函数的语法:
语法如下:MsgBox(prompt[, buttons] [, title] [, helpfile, context])
参数:
a) prompt是必需的,代表在消息框中作为信息显示的字符或字符串,最多只能接受约1024个字符,取决于所使用字符的宽度。
b) buttons是可选的,用于指定消息框中显示按钮的数目及类型、使用的图标样式、缺省按钮以及消息框的强制回应等。如果省略,则buttons参数的缺省值为0,消息框只显示“确定”按钮。
这个参数是实现Msgbox函数自定义风格的一个重要参数,详细的内容我将在下一节中再涉及到、
c) title是可选的,代表在消息框标题栏中作为标题的字符或字符串。如果省略,则在标题栏中显示“Microsoft Excel”。
d) helpfile和参数context是可选的,用来为消息框提供上下文相关帮助的帮助文件和帮助主题。如果提供了其中一个参数,则必须提供另一个参数,两者缺一不可。
InputBox函数的语法:InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
参数
a) prompt是必需的,作为对话框消息出现的字符串表达式。
b) title是可选的,作为显示在对话框标题栏中的字符串表达式,如果省略title参数,则在标题栏中显示“Microsoft Excel”。
c) default是可选的,显示在文本框中的字符串表达式,在没有其它输入时作为缺省值,如果省略default参数,则文本框为空。
d) xpos是可选的,指定对话框的左边与屏幕左边的水平距离。如果省略xpos参数,则对话框会在水平方向居中。
e) ypos是可选的,指定对话框的上边与屏幕上边的距离。如果省略ypos参数,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
f) helpfile和参数context是可选的,为对话框提供上下文相关的帮助和编号,如果提供了其中一个参数,则必须提供另一个参数,两者缺一不可。
我们看到,上述参数很多是类似的。
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: