使用Excel表格添加数字

我创build了一个有五个文本框的Excel表单。 这些文本框接受任何数值。 一旦input五个数字,就会有第六个文本框显示这些值的总和。 这些值的总和应该始终是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 

我对所有文本框更改事件具有相同的代码。 不幸的是,这是行不通的。 当我input10作为我的input,而不是显示100%它显示10203040作为结果。

我究竟做错了什么?

我相信你需要使用的函数是CDblCSng ,它可以转换为双CSng浮点数或单CSng浮点数。 它不会处理input的空格或非数字数据,因此您可能需要先检查input的无效数据。 像这样的东西应该工作:

 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