You have to compare the values as 2 decimal values too, you say it yourself in the post, you know one is 0.5302 and the other 0.5308
What you see is formatting not the actual number so you have to convert the numbers to decimals for the comparisson
If round(Sheets(s).Cells(x + 3, 11),2) = round(Cells(x + 3, 9),2) Then
With Sheets(s).Shapes.Range(Array("Green_" & x))
.Top = rng.Top + 8
.Left = rng.Left + 8
Sheets(s).Shapes.Range(Array("Red_" & x)).Fill.Visible = msoFalse
Sheets(s).Shapes.Range(Array("Red_" & x)).Line.Visible = msoFalse
Sheets(s).Shapes.Range(Array("Amber_" & x)).Fill.Visible = msoFalse
Sheets(s).Shapes.Range(Array("Amber_" & x)).Line.Visible = msoFalse
Sheets(s).Shapes.Range(Array("Green_" & x)).Fill.Visible = msoTrue
Sheets(s).Shapes.Range(Array("Green_" & x)).Line.Visible = msoTrue
End With
I don't knwo if the syntax is right I just typed it in but this is the idea (red text)
Bookmarks