在excel vba中添加操作
我在Excel VBA中做一个简单的程序。 我为算术运算创build了一个简单的UserForm。 我创build了两个input文本框和四个命令框,用于加,减,乘,除。 当我运行代码时,我可以执行除加法操作之外的所有操作。 当我input两个input并单击添加命令button时,结果将被连接而不是执行加法操作。 例如:input1 = 10,input2 = 10.结果= 1010。
这是我的代码:
Private Sub CommandButton2_Click() ANSWER = INPUT1 * INPUT2 End Sub Private Sub CommandButton3_Click() ANSWER = INPUT1 - INPUT2 End Sub Private Sub CommandButton4_Click() ANSWER = INPUT1 + INPUT2 End Sub Private Sub CommandButton5_Click() ANSWER = INPUT1 / INPUT2 End Sub
这里是我为加法操作获得的输出的图像
尝试更改代码以强制执行数字操作。
ANSWER = Val(INPUT1) + Val(INPUT2)
你可能想在那里放一张支票。
If IsNumeric(Input1) Then INPUT1 = Val(INPUT1) Else INPUT1 = 0 End if
就像你正在使用的每个variables的东西。
有两件事要看这里:
-
任何input到文本框中的东西都是一个string,例如
MsgBox TypeName(me.Textbox1)
将始终给出: -
当两个variables都是string时,“
+
”将是连接运算符。
因此,在使用+
添加variables之前,必须将variables明确地转换为数字,以使得+
不会被视为连接运算符。
要将文本转换为数字,可以使用Val
, CDbl
, CInt
, CLng
或CSng
。 select最合适的。
您也可以使用-*\/
将文本转换为数字:
ANSWER = INPUT1 - 0 + INPUT2 ANSWER = INPUT1 * 1 + INPUT2 ANSWER = INPUT1 / 1 + INPUT2 ANSWER = INPUT1 \ 1 + INPUT2 ' integer division ANSWER = INPUT1 + --INPUT2 ANSWER = INPUT1 - -INPUT2