30.08.2019, 10:32
Ich habe eine Excel Tabelle mit 20000 Zeilen und nutze Spalten A bis H
In den Spaltenüberschriften steht Name, Vorname, Eintrittsdatum, Bemerkungen etc
Spalte E enthält das Eintrittsdatum
Ich möchte per VBA die Hintergrundfarbe einer Zeile in Spalten A bis H von standard (xlNone) in grün ändern, sobald der Zellwert in E größer 0 ist.
Lösche ich den Wert in E soll wieder standard (xlNone) gelten.
Außer ich nutze die Suchfunktion in Excel. Dann sollen alle Zellen -> egal ob standard oder grün auf gelb markiert werden, um die Suchergebnisse bzw. die selektierte Zelle hervorzuheben.
Ich bin absoluter VBA newbie. Ich weiß aber inzwischen, dass eine bedingte Formatierung nicht geändert wird, wenn ich eine Zelle anwähle -> bedingte Formatierung geht der Farbänderung per VBA vor - somit wirkungslos.
Damit bekomme ich z.B. die Zeilen grün, wenn E größer 0 ist:
Jetzt fehlt aber noch die Färbung bei der aktiven Zellauswahl durch die Suchtreffer
Folgendes habe ich im Neztz gefunden:
Wie bringe ich beide Bedingungen zusammen, sodass alle Varianten funktionieren
Zeile = xlNone -> bei Auswahl gelb
Zeile = grün -> bei Auswahl gelb
Setze ich in der Tabelle als VBA Code beides ein funzt gelb aber grün bleibt nichts mehr
In den Spaltenüberschriften steht Name, Vorname, Eintrittsdatum, Bemerkungen etc
Spalte E enthält das Eintrittsdatum
Ich möchte per VBA die Hintergrundfarbe einer Zeile in Spalten A bis H von standard (xlNone) in grün ändern, sobald der Zellwert in E größer 0 ist.
Lösche ich den Wert in E soll wieder standard (xlNone) gelten.
Außer ich nutze die Suchfunktion in Excel. Dann sollen alle Zellen -> egal ob standard oder grün auf gelb markiert werden, um die Suchergebnisse bzw. die selektierte Zelle hervorzuheben.
Ich bin absoluter VBA newbie. Ich weiß aber inzwischen, dass eine bedingte Formatierung nicht geändert wird, wenn ich eine Zelle anwähle -> bedingte Formatierung geht der Farbänderung per VBA vor - somit wirkungslos.
Damit bekomme ich z.B. die Zeilen grün, wenn E größer 0 ist:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 5 And .Value > 0 Then
Rows(.Row).Interior.ColorIndex = 4
ElseIf .Column = 5 And .Value = 0 Then
Rows(.Row).Interior.ColorIndex = 2
Else
Rows(.Row).Interior.ColorIndex = xlNone
End If
End With
End Sub
Jetzt fehlt aber noch die Färbung bei der aktiven Zellauswahl durch die Suchtreffer
Folgendes habe ich im Neztz gefunden:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static Zelle As Range
If Not Zelle Is Nothing Then
Cells.Interior.ColorIndex = xlColorIndexNone
End If
Target.Interior.ColorIndex = 6 'gelb
Set Zelle = Target
End Sub
Wie bringe ich beide Bedingungen zusammen, sodass alle Varianten funktionieren
Zeile = xlNone -> bei Auswahl gelb
Zeile = grün -> bei Auswahl gelb
Setze ich in der Tabelle als VBA Code beides ein funzt gelb aber grün bleibt nichts mehr