vb 修改代码

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:51:19
i = 0
For it = 1 To MSFlexGrid1.Rows - 1
ss = MSFlexGrid1.TextMatrix(it, 1)
ss1 = UBound(Split(ss, "0"))
ss2 = UBound(Split(ss, "1"))
If (ss1 > ss2) Then ss1 = ss2
i = i + ss1
MSFlexGrid1.TextMatrix(it, 2) = i
Next
现在运算显示正确
现在想改成
i = 0
For it = 1 To MSFlexGrid1.Rows - 1
ss = MSFlexGrid1.TextMatrix(it, 1)
For j = 0 To 9
For k = j To 9
ss1 = UBound(Split(ss, j))
ss2 = UBound(Split(ss, k))
If (ss1 > ss2) Then ss1 = ss2
i = i + ss1
For iy = 2 To 56
MSFlexGrid1.TextMatrix(it, iy) = i
Next
Next
Next
Next
这样为什么运算显示的不正确
也就是,运算j和k的组合为00,01,02,03,04,05,06,07,08,09,11。。。。。直到99这样排下去共55个然后再2到56列显示
应该怎么改

不用这么麻烦吧,真看不清楚你要做什么,是不是后面一格内只显示一下0或1的数量呀,而且是累计少的那个?如果有必要说一下完整的目的.可能其它代码比这更优

i = 0
For it = 1 To MSFlexGrid1.Rows - 1
ss = MSFlexGrid1.TextMatrix(it, 1)
n=1
For j = 0 To 9
For k = j To 9
ss1 = UBound(Split(ss, j))
ss2 = UBound(Split(ss, k))
If (ss1 > ss2) Then ss1 = ss2
i = i + ss1
n=n+1
MSFlexGrid1.TextMatrix(it,n ) = i
Next
Next
Next