Macro no reconoce valores iguales

Me pasa que hice una macro para que se comparen dos celdas y si no son iguales me de un mensaje, si son iguales hace otra acción.

Al principio todo estaba bien, probé varias veces y estaba perfecto, pero en algunos caso me da el mensaje aunque los valores sean iguales, los he comparado con formulas y demás y no encuentro la razón del error, también probé comparando con rango.value y nada.

Las celdas contienen formulas, si lleno el valor manualmente no hay problema.

reitero que solo sucede con algunos valores, ayuda please............

SubSIGUIENTEBALANCE()
'
'SIGUIENTEBALANCE Macro
'
'
IfRange("D9")=""Then
MsgBox("Llene la fecha.")
Else
IfRange("totalactivo")=0OrRange("totalpasivo")=0OrRange("totalpatrimonio")=0Then
MsgBox("El Total Activo, Total Pasivo y Total Patrimonio deben ser valores diferentes a cero.")
Else
IfRange("totalactivo")<>Range("totalpasivoypatrimonio")Then
MsgBox("El Total Activo debe ser igual al Total Pasivo más el Patrimonio.")
Else
Sheets("Tablas").Visible=True
Sheets("Tablas").Select
Range("I4").Select
ActiveCell.FormulaR1C1="SI"
Sheets("Tablas").Select
ActiveWindow.SelectedSheets.Visible=False
Application.GotoReference:="inicioresultado3"
EndIf
EndIf
EndIf

1 Respuesta

Respuesta
1

Tuve un problema similar estos días y entiendo cómo te sentís... si los valores se ven iguales ! !,

Pero tratándose de fórmulas Excel internamente tiene otros valores, x ej, 2,3435 y el otro 2,3446 y te muestra solo 2,34 en ambos casos.

Lo podes resolver colocando la función Round(ref, 2)

Por ej:

IF ROUND(RANGE("totalactivo"),2) = 0

El nro 2 indica la cantidad de decimales que debe evaluar, en este caso 2.

Gracias compañero, me sirvio mucho, lo que no entiendo es a que se debe esto, ya que pormas que el dato lo exprese con 5+ decimales, el numero solo tiene 2, y ambos numeros son exacamente iguales.

Sin embargo sirvio con el redondeo, ;D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas