|
|
|
|
|
Dicas
|
|
Visual Basic (Grid/FlexGrid)
|
|
|
Título da Dica: Seleção e soma de células no MSFlexgrid/MSHFlexgrid
|
|
|
|
Postada em 19/7/2007 por ghost_jlp
Para, por exemplo, selecionar células e somar os valores, se for o caso pode-se fazer assim:
'DECLARAÇÕES
Dim i As Long, j As Long Dim l_inicial As Long, c_inicial As Long Dim l_final As Long, c_final As Long Dim cSoma As Currency, iTemp As Long
No eventos mouseup e mousedown do Flexgrid:
Private Sub MSHF_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) l_inicial = MSHF.Row c_inicial = MSHF.Col End Sub
Private Sub MSHF_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) l_final = MSHF.RowSel c_final = MSHF.ColSel End Sub
Agora sabemos as coordenas, ou seja, onde começa e termina a seleção feita. Coloque um botão de comando e uma label1 e coloque o código no evento click do botão:
Private Sub Command1_Click() If c_inicial > c_final Then iTemp = c_final c_final = c_inicial c_inicial = iTemp End If If l_inicial > l_final Then iTemp = l_final l_final = l_inicial l_inicial = iTemp End If
For j = c_inicial To c_final For i = l_inicial To l_final cSoma = cSoma + CCur(MSHF.TextMatrix(i, j)) Next Next Label1 = cSoma: cSoma = 0 End Sub
Até a próxima! :D
|
|
|
|
|