For i = 4 To 10 MSHFLEXGRID1.Rows = i MSHFLEXGRID1.Col = 2 n = n + Val(MSHFLEXGRID1.TextMatrix(i, 3)) Next j MsgBox n
楼上的朋友,代码运行不对啊。 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啊
假设你有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
TextMaritex可以取得单元格的内容,你把同列的单元格一个一个的取出,累加即可。
下面是基本思路,自己完善: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
比如求第2列的第4行到第10行的和的值。这个该如何写代码。恳请会的朋友指点。
对MSHFlexGrid的行和列的操作不是很熟悉!
请朋友帮帮忙,万分感激
MSHFLEXGRID1.Rows = i
MSHFLEXGRID1.Col = 2
n = n + Val(MSHFLEXGRID1.TextMatrix(i, 3))
Next j
MsgBox n
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啊
.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
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