使用Excel表单添加数字

时间:2015-10-16 19:35:37

标签: excel excel-vba textbox vba

我创建了一个包含五个文本框的Excel表单。这些TextBoxes接受任何数值。输入五个数字后,会有第六个文本框显示这些值的总和。这些值的总和应始终为100%。这是我的代码:

Private Sub TextBox1_Change()

Dim Value As Single

Value = Val(TextBox1.Value) + Val(TextBox2.Value) + Val(TextBox3.Value) + Val(TextBox4.Value) + Val(TextBox5.Value)

TextBox6.Value = Value

End Sub

我对所有文本框更改事件都有相同的代码。不幸的是,这不起作用。当我输入10203040作为输入时,不会显示100%,而是显示10203040作为结果。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我相信您需要使用的函数是CDblCSng,它会转换为双重或单个浮点数。它不会处理输入的空格或非数字数据,因此您可能需要先检查输入的无效数据。这样的事情应该有效:

Value = 0
If IsNumeric(TextBox1.Value) Then Value = Value + CSng(TextBox1.Value)
If IsNumeric(TextBox2.Value) Then Value = Value + CSng(TextBox2.Value)
If IsNumeric(TextBox3.Value) Then Value = Value + CSng(TextBox3.Value)
If IsNumeric(TextBox4.Value) Then Value = Value + CSng(TextBox4.Value)
If IsNumeric(TextBox5.Value) Then Value = Value + CSng(TextBox5.Value)

TextBox6.Value = Value