You are using a rather peculiar order of code instructions;
Do you want to compare strings or numbers ?
The conditions you use for the forecolor are not mutually exclusive.
You better use a reference to the sheet that contains the ranges.
[vba]
With LblB1Overall
.ForeColor = iif(Sheets("Sheet1").Range("D14").Value<Sheets("Sheet1").Range("M3").Value, RGB(255, 102, 0),RGB(0, 255, 0))
.Tag = Sheets("Sheet1").Range("D14").Value
.Caption = Format(.Tag, "0.00 %")
End With
[/vba]