在excel vba中添加操作

时间:2016-09-18 18:31:59

标签: excel vba excel-vba

我在Excel VBA中执行一个简单的程序。我为算术运算创建了一个简单的UserForm。我创建了两个输入文本框和4个命令框,用于加法,减法,乘法和除法。当我运行代码时,我可以执行除添加操作之外的所有操作。当我输入两个输入并单击添加命令按钮时,结果将连接而不是执行添加操作。例如:输入1 = 10,输入2 = 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

以下是我为添加操作获得的输出图像

3 个答案:

答案 0 :(得分:1)

尝试更改代码以强制执行数字操作。

new_schema = StructType([StructField("field_0", StringType(), True),
                            :
                         StructField("field_6", IntegerType(), True)])

您可能需要在那里办理支票。

ANSWER = Val(INPUT1) + Val(INPUT2)

您正在使用的每个变量都有类似的内容。

答案 1 :(得分:1)

这里要看两件事:

  1. 在文本框中输入的任何内容都是字符串,以便MsgBox TypeName(me.Textbox1)始终提供:

    enter image description here

  2. 当两个变量都是字符串时,“+”将成为连接运算符。

  3. 因此,在使用+添加变量之前,您必须显式将变量转换为数字,以便+不会被视为连接运算符。< / p>

    要将文字转换为数字,您可以使用ValCDblCIntCLngCSng。选择最合适的。

答案 2 :(得分:-1)

您还可以使用-*\/将文本转换为数字:

ANSWER = INPUT1 - 0 + INPUT2  
ANSWER = INPUT1 * 1 + INPUT2
ANSWER = INPUT1 / 1 + INPUT2
ANSWER = INPUT1 \ 1 + INPUT2  ' integer division
ANSWER = INPUT1 + --INPUT2
ANSWER = INPUT1 - -INPUT2