none
Sumar varias celdas de un datagrind RRS feed

  • Pregunta

  • Buenas tardes... esto sera un poco confuso ya que no logro explicarlo muy bien.

    Tengo un datagrid en el cual calcula el campo Importe por medio de este código

    For a = 1 To sprRequisicion.MaxRows
            sprRequisicion.Row = a
            If GetSpreadValue(sprRequisicion, col_CostoFinal, a) <> "" And GetSpreadValue(sprRequisicion, Col_UPedidas, a) <> "" Then
                m_CostoUnitario = Val(GetSpreadValue(sprRequisicion, col_CostoFinal, a))
                m_CantidadAplicada = Val(GetSpreadValue(sprRequisicion, Col_CantidadAplicada, a))
                m_UnidadesEnRecibiendo = Val(GetSpreadValue(sprRequisicion, col_Recibiendo, a))
                m_DesctoFinan = Val(GetSpreadValue(sprRequisicion, Col_DesctoFinan, a))
                
                sprRequisicion.EventEnabled(EventChange) = False
    
                m_CostoUnitario = m_CostoUnitario - (m_CostoUnitario * (m_DesctoFinan / 100))
                m_importe = m_CostoUnitario * (m_CantidadAplicada + m_UnidadesEnRecibiendo)
    
                SetSpreadText sprRequisicion, Str(Round(m_CostoUnitario, 4)), Col_PrecioNeto, a
                SetSpreadText sprRequisicion, Str(Round(m_importe, 4)), Col_CostoTotal, a
                
                sprRequisicion.EventEnabled(EventChange) = True
            Else
                sprRequisicion.EventEnabled(EventChange) = False
                SetSpreadText sprRequisicion, "", Col_CostoTotal, a
                sprRequisicion.EventEnabled(EventChange) = True
            End If

    hasta ahi todo bien pero lo que quiero ahora es que todas las columnas que tengan el campo aplicar seleccionado, se haga el procedimiento, este es el code, 

       

    Dim m_importe As Single Dim m_importe2 As Single Dim m_Iva As Single Dim a As Long For a = 1 To sprRequisicion.MaxRows sprRequisicion.Row = a If GetSpreadValue(sprRequisicion, Col_Aplicar, a) = 1 Then m_importe = GetSpreadValue(sprRequisicion, Col_CostoTotal, a) m_importe2 = m_importe2 + m_importe End If Next a m_Iva = m_importe * (TxtIVAProveedor.Text / 100) m_importe = m_importe + m_Iva If MsgBox("El Total de Factura es '" & m_importe & "', Desea Continuar?", vbInformation

    + vbYesNo, strSist) = vbNo Then Exit Sub


    Pero al correrlo solo me calcular de la celda que tiene seleccionada, no toma en cuenta si esta seleccionada la celda Aplicar.

    Ya llevo un rato, me dio vueltas en la cabeza






    lunes, 25 de noviembre de 2019 19:42

Todas las respuestas

  • Bueno chicos al final logre hacerlo, les dejo el code por si alguna les sirve

     
     Dim m_importe As Single   
    Dim m_importe2 As Single   
    Dim m_importe3 As Single   
    Dim m_Iva As Single   
    Dim a As Long     
    For a = 1 To sprRequisicion.MaxRows        
    sprRequisicion.Row = a        
    If GetSpreadValue(sprRequisicion, Col_Aplicar, a) = 1 Then    m_importe = GetSpreadValue(sprRequisicion, Col_CostoTotal, a)          
    m_importe2 = m_importe2 + m_importe        
    End If  
    Next a        
    m_Iva = m_importe2 * (TxtIVAProveedor.Text / 100)    m_importe3 = m_importe2 + m_Iva

    lunes, 25 de noviembre de 2019 22:27