¿Problema con código que se ejecuta alguna veces?

Tengo un problema con un código que se ejecuta algunas veces si y otras no, en una condicionante donde siempre debe ejecutarse:

Ejemplo: en la celda H18 se efectúa mediante fórmula una sumatoria de varias celdas, acto seguido en la celda C24 yo debo incluir el monto que arrojo esa sumatoria de manera manual, entonces coloque el siguiente código:

    If Sheets("RECIBO").Range("H18").Value <> Sheets("RECIBO").Range("C24").Value Then
       MsgBox "Los Montos de los Recibos no Coinciden!", , strTitulo
       Exit Sub
    End If

El caso es que a veces me sale el mensaje de que los montos de los recibos no coinciden, cuando en realidad el monto en H18 y C24 son EXACTAMENTE iguales, ¿Qué esta mal en mi código?

1 Respuesta

Respuesta
1

H o l a 

Tal vez tienes decimales, prueba con esto que mostrará el valor de cada celda y ve si hay alguna diferencia.

Sub verifica()
Set h1 = Sheets("RECIBO")
 If h1.Range("H18").Value <> h1.Range("C24").Value Then
    MsgBox "Los Montos " & h1.[H18] & " y " & h1.[C24] & " de los Recibos no Coinciden!", , strTitulo
    Exit Sub
End If
End Sub

Si fue suficiente valora la respuesta para finalizar saludos!

Si en efecto, hay veces que los montos resultan con decimales, ¿cómo tendría que ser el código para que me valide tanto en números enteros como en decimales hermano?

Para los resultados en ambas celdas, usa la función redondear(), y le pones un límite de decimales

Por ejemplo

si estas sumando A1 + A2 + A3 

el resultado con 2 decimales sería así:

=Redondear(Suma(A1:A3), 2)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas