VB 如何将text控件组内的数值累加
有一个text控件组想将text内的数值累加当到小于50大于text中任何一个时结束并显示结果我的意思是说text控件组累加小于50但又要最接近50(比如,2,3,5,6...
有一个text控件组想将text内的数值累加当到小于50大于text中任何一个时结束并显示结果
我的意思是说text控件组累加小于50但又要最接近50(比如,2,3,5,6,3,5,3,1,2=25和2,3,12,32,41,1,2,4,10=49) 展开
我的意思是说text控件组累加小于50但又要最接近50(比如,2,3,5,6,3,5,3,1,2=25和2,3,12,32,41,1,2,4,10=49) 展开
4个回答
展开全部
先按你说的意思写代码,不知我是否理解正确。如果不对,请追加。
Private Sub Text1_Change(Index As Integer)'假设文本框名=text1,且是控件数组
dim icnt as integer
icnt=0
for i=text1.lbound to text1.ubound
icnt=icnt+val(text1(i).text)'累加text1控件数组中每个text的值
next
if icnt<50 then
for i=text1.lbound to text1.ubound
if icnt>val(text1(i).text) then
msgbox "text1控件数组累加值小于50大于其中任何一个,结果是" & icnt
exit for
end if
next
end if
end sub
Private Sub Text1_Change(Index As Integer)'假设文本框名=text1,且是控件数组
dim icnt as integer
icnt=0
for i=text1.lbound to text1.ubound
icnt=icnt+val(text1(i).text)'累加text1控件数组中每个text的值
next
if icnt<50 then
for i=text1.lbound to text1.ubound
if icnt>val(text1(i).text) then
msgbox "text1控件数组累加值小于50大于其中任何一个,结果是" & icnt
exit for
end if
next
end if
end sub
更多追问追答
追问
text1.lbound to text1.ubound什么意思?
如果for i=0 to 9
s=s text(i).text
if s<= 50 then exit for
next i,错在哪里了。
将你提供的代码写入command可行吗?我现在身边没有电脑。
追答
text1.lbound 是text1控件数组下限,即第1个text对象
text1.ubound 是text1控件数组上限,即最后的text对象
从第1个到最后一个循环的意思。
你的代码中,
dim s as integer '加上变量定义
for i=0 to 9 '你用0,9与使用lbound ubound差不多,只是我的用法更灵活,不用改数字了。
s=s text(i).text '改成 s=s + val(text(i).text)
if s<= 50 then exit for '这里仅满足了小于50,而没有考虑大于text中任何一个的情况
next i
将你提供的代码写入command可行吗?
-> 如果是command之话,请改一下事件,如下。
Private Sub Command1_Click() '这里改成Command的单击事件,原来是Text对象的值变化事件
dim icnt as integer
icnt=0
for i=text1.lbound to text1.ubound
icnt=icnt+val(text1(i).text)'累加text1控件数组中每个text的值
next
if icntval(text1(i).text) then
msgbox "text1控件数组累加值小于50大于其中任何一个,结果是" & icnt
exit for
end if
next
end if
end sub
展开全部
sum=sum+val(text1(i).text)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
洗洗睡吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
受教了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询