Clever-Excel-Forum

Normale Version: Bedingte Formatierungen per VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Ich versuche gerade, bedingte Formatierungen in einem Arbeitsblatt per VBA zu realisieren. Es handelt sich um ein Zensurenblatt und es sollen alle Noten, bzw. Punkte über vier (Noten, 1-6) und unter vier (Punkte, 0-15) rot markiert werden. Da allerdings auch Zwischennoten wie z.B. "3+" oder "4-" notiert werden, versuche ich, nur den linken Teil des Zelleninhalts zu berücksichtigen, was allerdings nicht klappt.

Mein Code-Ausschnitt:

Code:
    ' alle Formatierungen löschen
    AktiverBereich.ClearFormats
   
    ' leere Zellen nicht mit Formatierung versehen
    AktiverBereich.FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(TRIM(A1))=0"
    AktiverBereich.FormatConditions(1).Interior.Color = xlNone
 
    ' Punkte oder Noten
    Klasse = wsAuswahl.Cells(2, 3).Text
   
    ' linken Teil der Noten verwenden, Zwischennoten/Kommentare ignorieren
    FormelPunkte = "=LEFT(A1,1)<4"
    FormelNoten = "=LEFT(A1,1)>4"
       
    ' Werte unter 4 Punkten oder über Note 4 rot markieren
    If Left(Klasse, 1) = "Q" Or Left(Klasse, 2) = "11" Then
        AktiverBereich.FormatConditions.Add Type:=xlExpression, Formula1:=FormelPunkte
        AktiverBereich.FormatConditions(2).Font.Color = vbRed
    Else
        AktiverBereich.FormatConditions.Add Type:=xlExpression, Formula1:=FormelNoten
        AktiverBereich.FormatConditions(2).Font.Color = vbRed
    End If


Die Zellen werden zwar entsprechend markiert, aber sobald ein "+" oder "-" auftaucht, wird die Zelle ebenfalls rot markiert, was ich doch eigentlich mit den jeweiligen Formeln (FormelPunkte & FormelNoten) ausschließen wollte.

Habt ihr Tipps?
Hallo,
    FormelNoten = "=LEFT(A1,1)>""4"""
Gruß Uwe