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