Código Delphi
[-]ShowMessage('No puedo convertir ' + StringGrid1.Cells[renglones,columnas]);
totmes[columnas] := 0;
Si el error es
exactamente "No puedo convertir " Quiere decir que la celda en ese renglón y esa columna está vacío.
Si el error es algo así como "No puedo convertir 123.456.678"; Quiere decir que la celda en ese renglón y esa columna tiene el valor "123.456.678" que no es un valor válido. (Tiene 2 puntos)
Por lo que comentas, creo que es el primer error y por lo tanto se puede tomar como un 0 y es lo que hace el trozo de código si hay una excepción.
Eso es porque ya ha terminado el primer bucle donde has puesto el control de errores (bloque try..except).
En el segundo bucle trata de convertir nuevamente los valores y vuelve a fallar.
Si nos dices
EXACTAMENTE qué valores tiene las celdas (con sus puntos, comas y signos) te podrémos decir qué es lo que fallará.
Ten en cuenta que para convertir un número con la función StrToFloat el string que le pasas:
- solo debe tener números
- solo puede haber
un punto que separe la parte entera de la decimal.
- si fuera negativo podría empezar con el signo "-"
- no debe contener espacios.