我现在想对 MSHFlexGrid控件中某一列求和该怎么做啊?
比如求第2列的所有值的和。
如果再进一步求第2列的第4行到第10行的和又如何设置?
恳请会的朋友帮帮忙!

解决方案 »

  1.   

    MSHFlexGrid中的值已经显示出来了。我就是想提取某一列中的某两行之间的值
    比如求第2列的第4行到第10行的和的值。这个该如何写代码。恳请会的朋友指点。
    对MSHFlexGrid的行和列的操作不是很熟悉!
    请朋友帮帮忙,万分感激
      

  2.   

        For i = 4 To 10
            MSHFLEXGRID1.Rows = i
            MSHFLEXGRID1.Col = 2
            n = n + Val(MSHFLEXGRID1.TextMatrix(i, 3))
        Next j
        MsgBox n
      

  3.   

    楼上的朋友,代码运行不对啊。
    For I = 1 To MSHFlexGrid1.Row - 1
       MSHFlexGrid1.Rows = I
      MSHFlexGrid1.Col = 4
      N = N + Val(MSHFlexGrid1.TextMatrix(I, 4))Next
    MsgBox n
    显示的n值为0啊
      

  4.   

    假设你有x例, 你要的y to z 的和with msh
    .cols = .cols + 1for idx =.fixedrows to .rows
        n = 0
        for idx1 = y to z
            n = n + val(.textmatrix(idx,idx1)
        next
        .textmatrix(idx, .cols -1) = n
    next
    end with
      

  5.   

    TextMaritex可以取得单元格的内容,你把同列的单元格一个一个的取出,累加即可。
      

  6.   

    下面是基本思路,自己完善:Function GetColSum(fg As MSHFlexGrid, pCol As Long, pRow1 As Long, pRow2 As Long) As Double
        Dim i As Long
        For i = pRow1 To pRow2
            GetColSum = GetColSum + Val(fg.TextMatrix(i, pCol))
        Next
    End FunctionPrivate Sub Command1_Click()
        '调用:MSHFlexGrid1中第二列1行到5行的值:
        MsgBox GetColSum(MSHFlexGrid1, 2, 1, 5)
    End Sub