Excel VBA编程 典型实例——制作简单计算器
VBA是一种完全面向对象体系结构的编程语言,由于其在开发方面的易用性和其具有强大的功能。因此,用户通过VBA可以编辑许多宏,并且提高工作效率。下面我们运用插入文本框、按钮和组合框以及标签等控件,来制作一个简单的公式计算器。
1.练习要点
● 使用表单控件
● 使用ActiveX控件
● 设置属性
● 编写代码
2.操作步骤:
(1)在A1至G8单元格区域中,输入相应的字段信息,并设置单元格的格式,如图11-29所示。
图11-29 设置表格格式
(2)在第3行和第7行的单元格中插入控件,其中三个【文本框】控件和【标签】控件均为ActiveX控件,如图11-30所示。
图11-30 插入控件
提 示 | 选择【开发工具】选项卡,单击【控件】组中的【插入】下拉按钮,即可选择所需的控件。插入表单控件与ActiveX控件的方法相同。 |
(3)在Sheet2工作表B2至B5单元格中,输入“加”、“减”、“乘”和“除”文字。然后在Sheet1工作表,右击“组合框(窗体控件)”控件,执行【设置控件格式】命令,如图11-31所示。
图11-31 绘制“组合框”控件
(4)然后在弹出的对话框中,设置【数据源区域】为Sheet2!$B$2:$B$5;【单元格链接】为Sheet2!$B$1;并设置【下拉显示项数】为4,如图11-32所示。
图10-32 设置控件格式
(4)设置【按钮1】的标题为“=”,然后为其指定宏,宏代码如下:
Sub 计算()
'定义变量
Dim Text1, Text2, n As Long
Dim c As Single
'判断两个文本框是否为空
If Sheet1.TextBox1.Value = "" Or Sheet1.TextBox2.Value = "" Then
'当其中一个文本框为空时,弹出提示对话框
MsgBox "文本框中不能为空!"
Else
'提示文本框所输入内容第1个字符,判断是否为零。并且判断第2位是否为小数点
vb计算器代码大全 If (Mid(Trim(Sheet1.TextBox1.Value), 1, 1) = _
"0" And Mid(Trim(Sheet1.TextBox1.Value), 2, 1) <> ".") Or _
(Mid(Trim(Sheet1.TextBox2.Value), 1, 1) = "0" And _
Mid(Trim(Sheet1.TextBox2.Value), 2, 1) <> ".") Then
'当第1位为零时,弹出提示对话框
MsgBox "文本框中第1位字符不能为零!"
Else
'将第一个文本框内容,赋予Text1变量
Text1 = Val(Trim(Sheet1.TextBox1.Value))
'将第二个文本框内容,赋予Text1变量
Text2 = Val(Trim(Sheet1.TextBox2.Value))
'获取Sheet2工作表中,所选择运算符
n = Sheet2.Range("B1").Value
'判断运算符
Select Case n
Case 1
'运算符为加号时,运算该语句
c = Text1 + Text2
Case 2
'运算符为减号时,运算该语句
c = Text1 - Text2
Case 3
'运算符为乘号时,运算该语句
c = Text1 * Text2
Case 4
'运算符为除号时,运算该语句
c = Text1 / Text2
End Select
'将运算结果输入到TextBox3
Sheet1.TextBox3.Value = c
End If
End If
End Sub
提 示 | 单击“按钮1”可选定该控件,再次单击“按钮1”,控件变为编辑状态,修改文本为“=” |
(5)设置【按钮2】的标题为“清除”,然后为其指定宏,宏代码如下:
Sub 清除()
'将第1个文本框赋空值
Sheet1.TextBox1.Value = ""
'将第2个文本框赋空值
Sheet1.TextBox2.Value = ""
'将结果文本框赋空值
Sheet1.TextBox3.Value = ""
End Sub
(6)在标签控件“Label1”的【属性】窗口中更改Caption属性的值为“计算结果”。然后,单击Font属性的【浏览】按钮,在弹出的【字体】对话框中,设置字体格式,如图11-33所示。
图11-33 设置“标签”字体格式
提 示 | 右击控件,执行【属性】命令,即可弹出【属性】窗口。 |
(7)单击BackColor后面的下拉按钮,在【调板】栏中,选择一种颜块,如图11-34所示。
图11-34 设置字体颜
(8)单击ForeColor后面的下拉按钮,为字体设置颜。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论