【发布时间】:2020-07-01 01:42:42
【问题描述】:
我对 VBA 比较陌生,并且一直在努力学习它。我首先尝试编写一个计算器并对其进行编程以执行基本计算,例如加法、除法、减法和乘法。但是,当我尝试使用下面的代码执行这些函数时,计算器不会编译并执行上述计算。
Private Sub cmdBtnEql_Click()
On Error GoTo ErrOcccered
If txtDisplay = "Cannot divide by Zero" Then txtDisplay = Empty
If txtRes <> "" And calVal Then
FNum = Val(txtDisplay): SNum = Val(txtRes)
Select Case calVal
Case "Add"
txtRes = FNum + SNum
Case "Minus"
txtRes = FNum - SNum
Case "Multiplication"
txtRes = FNum * SNum
Case "Divide"
If SNum = 0 Then
txtRes = "Cannot divide by zero"
Else
txtRes = FNum / SNum
End If
Case Else
End Select
End If
ErrOcccered:
End Sub
但是,此过程实际上并不执行上述计算。我可以单击按钮,并且相应的数字确实显示在用户表单的文本框中,没有进行任何计算。这段代码不是我个人的,我正在使用我在网上找到的另一个代码,并试图了解所有语法和语义在 VBA 中是如何工作的。我感谢您的帮助!谢谢
【问题讨论】:
-
请提供minimal reproducible example。逻辑的关键位似乎是
Select Case calVal,但你让我们不知道calVal是什么或它如何获得它的价值。我们或许可以猜到——但最好告诉我们。至于如何粘贴代码——突出显示它并点击Ctrl + k(或使用编辑窗口中的代码图标)。 -
值
txtRes,你在做什么?你似乎什么也没做,然后想知道为什么什么都没有发生。这个 sub 似乎实际上并没有做任何事情。
标签: excel vba excel-2016