43个典型ExcelVBA实例
:
例1.九九乘法表(Print方法的应用)
1.案例说明
在早期的Basic版本中,程序运行结果主要依靠Print语句输出到终端。在VB中,Print作为窗体的一个方法,用来在窗体中显示信息。但是在VBA中,用户窗体已经不支持Print方法了。在VBA中,Print方法只能向“立即窗口”中输出程序的运行中间结果,供开发人员调试程序时使用。
本例使用Print方法在立即窗口中输入九九乘法表。
2.关键技术
在VBA中,Print方法只能应用于Debug对象,其语法格式如下:
Debug.Print [outputlist]
参数outputlist是要打印的表达式或表达式的列表。如果省略,则打印一个空白行。
— Print首先计算表达式的值,然后输出计算的结果。在outputlist参数中还可以使用分隔符,以格式化输出的数据。格式化分隔符有以下几种:
— Spc(n):插入n个空格到输出数据之间;
— Tab(n):移动光标到适当位置,n为移动的列数;
— 分号:表示前后两个数据项连在一起输出;
— 逗号:以14个字符为一个输出区,每个数据输出到对应的输出区。
3.编写代码
(1)在VBE中,单击菜单“插入/模块”命令插入一个模块。
(2)在模块中输入以下代码:
Sub multi()
For i = 1 To 9
For j = 1 To i
Debug.Print i; "x"; j; "="; i * j; " ";
Next
Debug.Print
Next
End Sub
(3)按功能键“F5”运行子过程,在“立即窗口”输出九九乘法表,如图3-1所示。
例2 输入个人信息(Inputbox函数的应用)
1.案例说明
本例演示Inputbox函数的使用方法。执行程序,将弹出“输入个人信息”对话框,要求用户输入“姓名、年龄、地址”信息,然后在“立即窗口”中将这些信息打印输出。
2.关键技术
为了实现数据输入,VBA提供了InputBox函数。该函数将打开一个对话框作为输入数据的界面,等待用户输入数据,并返回所输入的内容。其语法格式如下:
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
各参数的含义如下:
— Prompt:为对话框消息出现的字符串表达式。其最大长度为1024个字符。如果需要在对话框中显示多行数据,则可在各行之间用回车符换行符来分隔,一般使用VBA的常数vbCrLf代表回车换行符。
— Title:为对话框标题栏中的字符串。如果省略该参数,则把应用程序名放入标题栏中。
—
Default:为显示在文本框中的字符串。如果省略该参数,则文本框为空。
— Xpos:应和Ypos成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略该参数,则对话框会在水平方向居中。
— Ypos:应和Xpos成对出现,指定对话框的上边与屏幕上边的距离。如果省略该参数,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
— Helpfile:设置对话框的帮助文件,可省略。
— Context:设置对话框的帮助主题编号,可省略。
3.编写代码
(1)在VBE中,单击菜单“插入/模块”命令插入一个模块。
(2)在模块中输入以下代码:
Sub inputinfo()
Title = "输入个人信息"
name1 = "请输入姓名:"
age1 = "请输入年龄:"
address1 = "请输入地址:"
strName = InputBox(name1, Title)
age = InputBox(age1, Title)
Address = InputBox(addres1, Title)
Debug.Print "姓名:"; strName
Debug.Print "年龄:"; age
Debug.Print "地址:"; Address
End Sub
(3)按功能键“F5”运行子过程,将弹出“输入个人信息”窗口。在对话框中输入内容后按“回车”,或单击“确定”按钮。
(4)接着输入“年龄”和“地址”信息,在“立即窗口”中将输出这些内容。
例3 退出确认(Msgbox函数的应用)
1.案例说明
在应用程序中,有时用户会由于误操作关闭Excel,为了防止这种情况,可在退出Excel之前弹出对话框,让用户确认是否真的要关闭Excel。
本例使用Msgbox函数弹出对话框,让用户选择是否退出系统。
2.关键技术
使用MsgBox函数可打开一个对话框,在对话框中显示一个提示信息,并让用户单击对话框中的按钮,使程序继续执行。
MsgBox函数语法格式如下:
Value=MsgBox(prompt[,buttons][,title][ ,helpfile,context])
通过函数返回值可获得用户单击的按钮,并可根据按钮的不同而选择不同的程序段来执行。
该函数共有5个参数,除第1个参数外,其余参数都可省略。各参数的意义与Inputbox函数参数的意义基本相同,不同的地方是多了一个buttons参数,用来指定显示按钮的数目及形式、使用提示图标样式、默认按钮以及消息框的强制响应等。其常数值如表3-1所示。
表3-1 按钮常数值
常 量 | 值 | 说 明 |
vbOkOnly | 0 | 只显示“确定”(Ok)按钮 |
vbOkCancel | 1 | 显示“确定”(Ok)及“取消”(Cancel)按钮 |
vbAbortRetryIgnore | 2 | 显示“异常终止”(Abort)、“重试”(Retry)及“忽略”(Ignore)按钮 |
vbYesNoCancel | 3 | 显示“是”(Yes)、“否”(No)及“取消”(Cancel)按钮 |
续表
常 量 | 值 | 说 明 |
vbYesNo | 4 | 显示“是”(Yes)及“否”(No)按钮 |
vbRetryCancel | 5 | 显示“重试”(Retry)及“取消”(Cancel)按钮 |
vbCritical | 16 | 显示Critical Message图标 |
vbQuestion | 32 | 显示Warning Query图标 |
vbExclamation | 48 | 显示Warning Message图标 |
vbInformation | 64 | 显示Information Message图标 |
vba做excel窗体录入教程 vbDefaultButton1 | 0 | 以第一个按钮为默认按钮 |
vbDefaultButton2 | 256 | 以第二个按钮为默认按钮 |
vbDefaultButton3 | 512 | 以第三个按钮为默认按钮 |
vbDefaultButton4 | 768 | 以第四个按钮为默认按钮 |
vbApplicationModal | 0 | 进入该消息框,当前应用程序暂停 |
vbSystemModal | 4096 | 进入该消息框,所有应用程序暂停 |
表3-1中的数值(或常数)可分为四组,其作用分别为:
— 第一组值(0~5)用来决定对话框中按钮的类型与数量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论