Hi b,
It's always useful to explicitly state which sheet you are working with - it avoids any confusion between the ActiveSheet (which is what Range and Cells default to) and the sheet that you think that you are acting on. (In your example the various Range references are unqualified.
This worked on the example data that I tried:
Sub itapromo()
Dim MY_ROWS As Long, iVal As Integer
With Sheet1
.Columns("U:U").ClearContents
.Range("T1").Value = "Promo Y1"
For MY_ROWS = 2 To .Range("T65536").End(xlUp).Row
Select Case Range("T" & MY_ROWS).Value
Case Is = "": iVal = 10
Case Is < 20: iVal = 1
Case Is < 100: iVal = 2
Case Is < 250: iVal = 3
Case Is < 500: iVal = 4
Case Is < 1000: iVal = 5
Case Is < 2000: iVal = 6
Case Is < 3500: iVal = 7
Case Is < 5000: iVal = 8
Case Is < 100000: iVal = 9
End Select
.Range("U" & MY_ROWS).Value = iVal
Next MY_ROWS
End With
End Sub
Amend the Sheet1 codename as appropriate.
HTH