Porque no pruebas haciendo una función que te haga la suma y esa misma la puedas utilizar cuantas veces sea necesaria:
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
Esto funciona para un MSHFlexGrid pero considero que lo puedes adaptar para el datagrid
y perdon y lo llamas asi:
Código:
Label1 = Format(Sumar(Grilla, columna), "$ #,##0.00")