用VB语句求出msflexgrid 中数据最大值。
我的是用
For i = 1 To 19
If MS1.TextMatrix(i, 1) <> "" And MS1.TextMatrix(i, 10) <> "" Then  
dd = Val(MS1.TextMatrix(i, 6))
gs = Val(MS1.TextMatrix(i, 10))
hk = Val(MS1.TextMatrix(i, 8))
kc = Val(MS1.TextMatrix(i, 7))
ss = (dd + hk - kc) / gs
If ss > max Then
max = ss
MsgBox max
End If
end if
next但为什么第一行的数也显示为最大值,我要的是循环下来输出的就是一个最大值。

解决方案 »

  1.   

    For   i   =   1   To   19 
    If   MS1.TextMatrix(i,   1)   < >   " "   And   MS1.TextMatrix(i,   10)   < >   " "   Then     
    dd   =   Val(MS1.TextMatrix(i,   6)) 
    gs   =   Val(MS1.TextMatrix(i,   10)) 
    hk   =   Val(MS1.TextMatrix(i,   8)) 
    kc   =   Val(MS1.TextMatrix(i,   7)) 
    ss   =   (dd   +   hk   -   kc)   /   gs 
    If   ss   >   max   Then 
    max   =   ss 
    '''''MsgBox   max 把这句话从这里删掉
    End   If 
    end   if 
    next 
    MsgBox   max  '''转移到循环外边来