使用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
作为结果。
我究竟做错了什么?
我相信你需要使用的函数是CDbl
或CSng
,它可以转换为双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