Dim cat As Integer
For cat = 2 To last
Range(\"AB\" & cat).Select
If Selection.Value = \" \" Then
ActiveCell.Offset(0, -2).Value = \"-\"
I think you need to express equality in each condition. In other words, instead of this:
(Selection.Value = "hold to console" Or
"Hold to console" Or
"Allocated 14/12 and ship next day") Then
you need to use this:
(Selection.Value = "hold to console" Or
Selection.Value = "Hold to console" Or
Selection.Value = "Allocated 14/12 and ship next day") Then