USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  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
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página