动态更新Activex文本框条目

时间:2018-07-18 01:31:37

标签: excel-vba

我有4个Activex文本框,其中输入了值(数字)。第五个文本框是前四个文本框条目的总和。我希望当用户更改前四个文本框值中的一个或多个中的值时,第五个文本框动态更新。前四个框的名称为“ TextBox1,TextBox2 ...,第五个框为TextBox5。执行此操作的代码是什么?

1 个答案:

答案 0 :(得分:0)

您需要使用change事件来检测何时更改了文本框,然后将这些值相加。默认情况下,文本框包含字符串,因此您还需要将值转换为数字(整数,双精度,长整数等)

Private Sub TextBox1_Change()
    Sum
End Sub

Private Sub TextBox2_Change()
    Sum
End Sub

Private Sub TextBox3_Change()
    Sum
End Sub

Private Sub TextBox4_Change()
    Sum
End Sub

Private Sub Sum()
    TextBox5.Value = Int(TextBox1) + Int(TextBox2.Value) + Int(TextBox3.Value) + Int(TextBox4.Value)
End Sub

您可能需要进行一些错误检查以避免调试错误。这是一种检查TextBox1中是否包含数值的方法。

Private Sub Sum()
    If Not IsNumeric(TextBox1) Then
        TextBox5.Value = "Error in Box 1"
        Exit Sub
    End If

    TextBox5.Value = Int(TextBox1) + Int(TextBox2.Value) + Int(TextBox3.Value) + Int(TextBox4.Value)
End Sub