Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/08/2011, 14:01
SalomonSab
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: sumar datos que se encuentran en un mshflexgrid en formato moneda

Te paso una función que utilizo muy seguido a ver si te sirve:

En un Modulo agrega esto:

Código:
Function Sumar(MSHFlexGrid As Object, _
               Columna As Integer) As Currency
                  
On Error GoTo Error_function
  
    With MSHFlexGrid
        Dim Total As Currency
        Dim i As Long
          
        If Columna > .Cols Then
           MsgBox "Columna no válida", vbExclamation
           Exit Function
        End If
           
        ' recorrer  las filas de la grilla
        For i = 1 To .Rows - 1
            ' comprobar que el dato es de tipo numérico con la función IsNumeric de vb
            If IsNumeric(.TextMatrix(i, Columna)) Then
                ' Sumar, obteniendo el valor de la celda con TextMatrix
                Total = Total + .TextMatrix(i, Columna)
            End If
        Next
           
        ' retornar el total de la suma a la función
        Sumar = Total
    End With
       
Exit Function
Error_function:
  
MsgBox Err.Description, vbCritical, "error al sumar"
  
End Function
una vez que la grilla se cargo agrega esto al final para que realices la suma

Código:
ganancias = Format(Sumar(TuGrilla, Tucolumna), "#,##0.000")
Espero te sirva. Saludos