Bedingte Formatierungen per VBA
#1
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?
Top
#2
Hallo,
    FormelNoten = "=LEFT(A1,1)>""4"""
Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste