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

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

vba计算器(用VBA制作一个计算器)(1)

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

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

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

vba计算器(用VBA制作一个计算器)(2)

下面来看一下实现的代码

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

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

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

数字按钮类代码:

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

vba计算器(用VBA制作一个计算器)(3)

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

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

,