bastel jetzt einige Tage schon an diesem Problem und komm leider nicht weiter

Sachverhalt:
Wenn in einer Zelle zwischen C6 und AG6 (bzw. C12 - AG12 und C18 - AG18) ein "U" eingegeben wird, soll der ein bestimmter Bereich eingefärbt werden.
Beispiel: Eingabe U in D6 --> eingefärbter Bereich von D5-D10
Mit folgendem Code habe ich zwar etwas eingefärbt, jedoch nicht den Bereich, den ich will.
Vorallem wundert es mich, dass er die Zeileneinfärbung bis zum Ende macht, obwohl durch die For-Schleife eine Begrenzung eingebaut ist.
Code: Alles auswählen
Sub UpdateColors
Dim x As Integer
Dim y As Integer
Dim oSheet As Object
Dim oZelle As Object
oSheet = thisComponent.getCurrentController.getActivesheet()
For x = 5 To 17 Step 6
For y = 3 To 33
oZelle = oSheet.getCellByPosition(y,x)
If (UCase(oZelle.string) = "U") Then
oSheet.getCellByPosition(y,x).Value = "U"
oSheet.getCellByPosition(y-1,x).CellBackColor =_
rgb(255,255,0)
oSheet.getCellByPosition(y,x).CellBackColor =_
rgb(255,255,0)
oSheet.getCellByPosition(y+1,x).CellBackColor =_
rgb(255,255,0)
oSheet.getCellByPosition(y+2,x).CellBackColor =_
rgb(255,255,0)
' oSheet.getCellByPosition(y+3,x).CellBackColor =_
'rgb(255,255,0)
' oSheet.getCellByPosition(y+4,x).CellBackColor =_
'rgb(255,255,0)
ThisComponent.sheets(0).rows(y).CellBackColor =_
rgb(255,255,0)
end if
Next y
Next x
End Sub
Danke schon mal....