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后面的下拉按钮,为字体设置颜。