Variable no me coge el valor decimal de una celda

Lo "todoexpertos" una vez acudo a vosotros.

Tengo una macro en Excel en la que quiero recoger el valor del peso que tengo en una celda y si este valor es menor a 0,2 (200 gr) que ponga ese valor. El problema que al ir depurando lo que hace en lugar de coger el valor decimal de celda me lo coge como un entero, por ejemplo si el valor es 0,12 la variable peso me dice que es 12 por lo que nunca me corrige el valor a 0,2 porque para la condición siempre es falsa y no hace nada.

He probado a declarar la variable peso como double o single pero nada, he probado a dar formato a la columna poniéndola en el formato de celda como numero con 2 decimales pero aun así aunque sale bien representado gráficamente al asignarlo a la variable solo coge la parte entera.

Os pongo un ejemplo del código:

Sub peso()

'declaramos las variables

Dim ultFilaDatos As Long
Dim contador As Long
Dim peso As Single

 'recorremos la tabla para encontrar la ultima fila con datos

 ultFilaDatos = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row

'iniciamos el bucle for en la fila 2 hasta la ultima fila que hemos encontrado con datos
For contador = 2 To ultFilaDatos
'leemos los datos de la fila "contador" y columna "M" que es la numero 13 y asignamos el valor a peso
peso = Sheets("Hoja1").Cells(contador, 13)
'inicio de la condición: SI peso es menor a 0.2 entonces peso igual a 0.2
If peso < 0.2 Then
Sheets("Hoja1").Cells(contador, 13) = 0.2
End If

'sumamos a contador 1 para que siga recorriendo la tabla
Next contador
End Sub

A ver si alguno sabe porque no me coge el valor decimal para poder hacer la comparación.

Añade tu respuesta

Haz clic para o