1

我创建了一个带有三个文本框的用户表单。

第一个文本框用于输入第一个数字,第二个文本框用于输入第二个数字,最后一个是结果。

我创建了一个名为Calculate 的按钮。

我有 textbox1 的代码:

Private Sub TextBox1_Change()
Dim a As Integer
a = Val(TextBox1.Text)
End Sub

这对于textbox2:

Private Sub TextBox2_Change()
Dim b As Integer
b = Val(TextBox2.Text)
End Sub

我有一个显示结果的按钮

Private Sub CommandButton1_Click()
Dim c As Integer
c = a + b
MsgBox (c)
End Sub

我为 textbox1 输入 1,为 textbox2 输入 2,1+2 将是 3,但在 MsgBox 中我看到 0。这是为什么,我该如何解决?

4

4 回答 4

3

我不会将框的值分配给变量(除非它们是全局变量,否则变量生命的范围是例程,因此变量将在 sub() for each 结束后消失,所以当命令按钮事件发生时,变量不再存在),直接引用它们即可。只需为您的命令按钮添加它,它就可以完成这项工作。

Private Sub CommandButton1_Click()

MsgBox(TextBox1.Value + TextBox2.Value)

End Sub
于 2012-05-28T07:58:29.350 回答
1

变量的声明必须是一般的,它不应该在子...


Dim a As Integer
Dim c As Double
Dim b As Integer

Private Sub CommandButton1_Click()
 c = a + b
 MsgBox (c)

End Sub

Private Sub TextBox1_Change()
a = Val(TextBox1.Text)
End Sub

Private Sub TextBox2_Change()
b = Val(TextBox2.Text)
End Sub
于 2013-11-29T01:36:01.587 回答
1
Private Sub Calculate_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = Val(`TextBox1.Text`)
b = Val(`TextBox2.Text`)
c = a + b
MsgBox (c)
End Sub
于 2015-01-08T09:25:07.133 回答
0
Dim a As Double
Dim b As Double
Dim c As Double


Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)
b = Val(TextBox2.Text)

c = a + b

MsgBox (c)

End Sub
于 2019-04-08T13:41:32.937 回答