在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的东西。

有两件事要看这里:

  1. 任何input到文本框中的东西都是一个string,例如MsgBox TypeName(me.Textbox1)将始终给出:

    在这里输入图像说明

  2. 当两个variables都是string时,“ + ”将是连接运算符。

因此,在使用+添加variables之前,必须将variables明确地转换为数字,以使得+不会被视为连接运算符。

要将文本转换为数字,可以使用ValCDblCIntCLngCSng 。 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