【发布时间】:2018-02-15 16:54:36
【问题描述】:
我在 Excel 中使用带有 activex 控件的 VBA 我有这个代码来计算两个值的平均值
Private Sub CommandButton1_Click()
Dim a, b, average As Double
a = InputBox("insert number a")
b = InputBox("insert number b")
average = (a + b) / 2
MsgBox (average)
End Sub
它返回一个错误的值,因为 + 被认为是字符串的连接而不是两个双精度的总和。 例如,如果我输入 a=4 和 b=5,则结果为 22.5 (45/2)。
如果修改变量声明如下,问题就解决了,只是 一个一个地声明变量
Private Sub CommandButton1_Click()
Dim a As Double
Dim b As Double
Dim average As Double
a = InputBox("insert number a")
b = InputBox("insert number b")
average = (a + b) / 2
MsgBox (average)
End Sub
发生了什么事?
【问题讨论】:
标签: vba sum double string-concatenation