用VBA制作一个计算器,这个教程值得收藏

deer332025-09-08技术文章28

VBA编程学习,本节介绍如何制作一个简单计算器,普通四则运算加、减、乘、除。

如果是初学者,可能对于这样一个功能,实现起来还是比较困难的,当掌握了一些基本的编程方法之后,应用就相对简单了。

下图为制作完成的效果图,可实现基本运行,清除功能。

最多可运算14位数据,再多就要相应修改一下。

这不是重点,重点是通过这样一个过程来总结思维训练,为以后实现更加复杂的方程式编程做一个参考路径。

下面来看一下实现的代码

示例中除输入运算框为文本框控件外,其它均为按钮控件。

按钮事件,用运了两个类模块,一个为数字按键类,一个是运行符号按键类。

这里应用类的方式是为了简化代码,如果给每个按钮进行事件编码,可能有点麻烦,应该是十分麻烦。

数字按钮类代码:

Public WithEvents BtnC As MSForms.CommandButton
Public Sub init(Btn As MSForms.CommandButton)
    Set BtnC = Btn
End Sub
Private Sub BtnC_Click()
Dim tx As Variant, i As Integer, ix As Integer
tx = VBA.CVar(VBA.Trim(BtnC.Parent.TextBox1.Value) & BtnC.Caption)
ix = VBA.Len(tx)
x = tx
For i = 1 To ix
    If i = 1 And VBA.Left(x, 1) = 0 Then
        x = VBA.Replace(x, 0, "", 1, 1)
    End If
Next i
BtnC.Parent.TextBox1.Value = x
End Sub

其中等于号按钮事件比较重要,因为所有结果最终从这个按钮单击之后发生改变。

Private Sub CommandButton16_Click()
Select Case xStyle
        Case VBA.CStr(xStyleArr(0))'加法运算
            xCount = VBA.Val(Me.TextBox1.Value) + xValue1
        Case xStyleArr(1)'减法
            xCount = xValue1 - VBA.Val(Me.TextBox1.Value)
         Case xStyleArr(2)'乘法
            xCount = VBA.Format(xValue1 * VBA.Val(Me.TextBox1.Value), "0.00")
        Case xStyleArr(3)'除法
            If Me.TextBox1.Value = 0 Then
                xCount = 0
            Else
                xCount = VBA.Format(xValue1 / VBA.Val(Me.TextBox1.Value), "0.00")
            End If
End Select
Me.TextBox1.Value = xCount
End Sub

计算器是一个最普通的工具,对于一些财务相关的应用里面,整合这样的一个小工具也是不错的选择。

欢迎关注、收藏

---END---