Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen einfärben mit mehreren Bedingungen | Herbers Excel-Forum


Betrifft: Zeilen einfärben mit mehreren Bedingungen von: donald d.
Geschrieben am: 22.10.2008 12:03:56

Hallo Forum,

ich bräuchte eure Hilfe. Ich möchte folgendes erreichen:

wenn in spalte B "Ja"/"Nein" reingeschrieben wird, soll Excel die Zeile entsprechend einfärben (Grün/gelb). Das ist an sich noch gar nicht das Problem. In Spalte C wird ebenfalls eine Ja/Nein-Abfrage erwartet, so dass es wiederum entsprechend der neuen Aussage die Zeilen neu einfärben soll (grün/orange).
Die bedingte Formatierung packt das nicht, die weiß dann gar nicht mehr, wie was wo.

Ich hab da einen Code gefunden:


Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Bereich As Range
    Dim rngZelle As Range
    
    Set Bereich = Range("B11:B100")
        
    For Each rngZelle In Intersect(Bereich, Target)
        Select Case rngZelle
            Case "Nein"
                rngZelle.EntireRow.Interior.Color = RGB(255, 255, 0)   'gelb
            Case “Ja”
	    rngZelle.EntireRow.Interior.Color = RGB(102, 255, 51)  'grelles gruen
            Case Else
                rngZelle.EntireRow.Interior.ColorIndex = xlNone
        End Select
    Next
            
End Sub



Kann mir jemand sagen, wie ich ihn so erweitern kann, dass auch die Spalte C beachtet wird?
Bitte für Dummies.

Grüße

  

Betrifft: AW: Zeilen einfärben mit mehreren Bedingungen von: Chris
Geschrieben am: 22.10.2008 12:24:08

servus Donald,

ich würd's so machen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Rows(Target.Row).Interior.ColorIndex = xlNone: Exit Sub
If Target.Column <> 2 And Target.Column <> 3 Then Exit Sub
If Target.Column = 2 Then
   Select Case Target
      Case "Ja":
         Rows(Target.Row).Interior.ColorIndex = 6
      Case "ja":
         Rows(Target.Row).Interior.ColorIndex = 6
      Case "Nein":
         Rows(Target.Row).Interior.ColorIndex = 4
      Case "nein":
         Rows(Target.Row).Interior.ColorIndex = 4
      Case Else
         Rows(Target.Row).Interior.ColorIndex = xlNone
         Target = ""
   End Select
Else
   Select Case Target
      Case "Ja":
         Rows(Target.Row).Interior.ColorIndex = 4
      Case "ja":
         Rows(Target.Row).Interior.ColorIndex = 4
      Case "Nein":
         Rows(Target.Row).Interior.ColorIndex = 46
      Case "nein":
         Rows(Target.Row).Interior.ColorIndex = 46
      Case Else
         Rows(Target.Row).Interior.ColorIndex = xlNone
         Target = ""
   End Select

End If
End Sub



Das Makro kommt in das entsprechende Tabellenmodul (z.B. Tabelle1 im VBA-Editor)

In diesem makro werden andere Eingaben als Ja,ja, Nein,nein ind den Spalten B und C verhindert, das macht jeweils die Case Else-Anweisung.

Probier mal aus.

Gruß

Chris


  

Betrifft: AW: Zeilen einfärben mit mehreren Bedingungen von: donald d.
Geschrieben am: 22.10.2008 12:45:25

Cool vielen Dank!!!!!!!!


  

Betrifft: AW: Zeilen einfärben mit mehreren Bedingungen von: donald d.
Geschrieben am: 22.10.2008 12:46:32

Es klappt.
Vielen Dank!!!!!!!!!!!


  

Betrifft: AW: Zeilen einfärben mit mehreren Bedingungen von: donald d.
Geschrieben am: 22.10.2008 13:36:46

Vielen Dank! Es funktioniert prima.


  

Betrifft: AW: bitteschön owT von: Chris
Geschrieben am: 22.10.2008 13:38:27

.


Beiträge aus den Excel-Beispielen zum Thema "Zeilen einfärben mit mehreren Bedingungen"