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---