Sumar una columna de mi Msflexgrid

Tengo un pequeño "Form" el cual tiene un "Msflexgrid" y ya tengo en código que suma todas las filas y me da un total de todos los registros, pero necesito sumar una columna (13) que tiene la cantidad de libros por consiguiente tengo la cantidad de registros pero necesito saber cuantos libros hay. Este es el código:
Private Sub Sumar_Importe()
    Total = 0
    TablaInventario.Col = 13
    For I = 1 To TablaInventario.Rows
        TablaInventario.Col = 13
        TablaInventario.Row = I
        Valor = CCur(Val(TablaInventario))
        Total = Total + Valor
    Next I
   Text1 = Format(Total, "###,###,###")
End Sub
el cual funciona bien, solo si le colóco el número de filas en la linea (5) "TablaInventario.Row = I" y si le coloco asi: "TablaInventario.Row = 8"
Funciona bien cuando le dejo la "I" sale un error que dice: "Valor de la fila no válido"
Yo no soy un experto pero debe haber una forma de parar el conteo y que solo llegue al ultimo registro.

1 respuesta

Respuesta
1
Creo que el problema que tiene es que el control Msflexgrid que está utilizando tiene una fila fija o de títulos la cual es la fila 0, así que en el momento de hacer el bucle solo debe hacerlo desde 1 hasta hasta el número total de filas menos 1, si cambia la siguiente línea va a funcionar correctamente
For I = 1 To (TablaInventario.Rows - 1)
o mejor si antes del bucle pasa a una variable el número de filas activas, asi :
Private Sub Sumar_Importe()
Total = 0
J = TablaInventario.Rows - 1
TablaInventario.Col = 13
 For I = 1 To J
       TablaInventario.Row = I
        Valor = CCur(Val(TablaInventario))
        Total = Total + Valor
 Next I
 Text1 = Format(Total, "###,###,###")
End Sub
Suerte !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas