Ganze Zeile einfärben wenn Wert größer 0

Bild

Betrifft: Ganze Zeile einfärben wenn Wert größer 0
von: Michael
Geschrieben am: 22.05.2015 12:48:24

Hallo,
ich möchte wenn im Bereich von M3 bis Ende der Tabelle ein Wert über 0 vorkommt die ganze Zeile innerhalb der Tabelle Rot einfärben. Folgender Code funktioniert nicht:

Private Sub Zeilen einfärben 
Dim Target As Range
If Cells(Target.Row, 4).Value >0 Then
Target.EntireRow.Interior.Color = vbRed
Else
Target.EntireRow.Interior.ColorIndex = xlNone
End If
End Sub
ich bin nicht wirklich geübt mit VBA. Der Code kann auch total Müll sein :(
Über bedingte Formatierung möchte ich das nicht machen weil das einfärben der Zeilen Bestandteil eines größerern Makros sein soll und automatisch auf weitere Tabellen mit selben Aufbau angewendet werden soll.
Gruß
Michael

Bild

Betrifft: AW: Ganze Zeile einfärben wenn Wert größer 0
von: Gerd L
Geschrieben am: 22.05.2015 12:56:19
Hallo Michael!
Cells(Target.Row, 4) bezieht sich auf Spalte D.
Was verstehst du unter "..bis Ende der Tabelle" ?
Gruß Gerd

Bild

Betrifft: AW: Ganze Zeile einfärben wenn Wert größer 0
von: Michael
Geschrieben am: 22.05.2015 13:03:11
Hallo Gerd,
ich möchte keinen fest definierten Bereich angeben in dem die Werte untersucht werden. Es ist jedoch immmer ausgehend von Zelle M3 bis zum letzten Eintrag in der Tabelle.
Gruß
Michael

Bild

Betrifft: AW: Ganze Zeile einfärben wenn Wert größer 0
von: Michael
Geschrieben am: 22.05.2015 13:23:43
In etwa so nur nicht auf die Spalte beschränkt sondern die ganze Zeile soll in dieser Form eingefärbt werden:
Range("M3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:="=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.Pattern = xlGray75
.PatternThemeColor = xlThemeColorDark1
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = True

Bild

Betrifft: AW: Ganze Zeile einfärben wenn Wert größer 0
von: Gerd L
Geschrieben am: 22.05.2015 19:19:49
Hallo Michael,
du antwortest auf Rückfragen nur indirekt. Meinst du so?

Sub c()
Dim objCell As Range
For Each objCell In Range(Range("M3"), Range("M" & Rows.Count).End(xlUp))
    If objCell.Value > 0 Then
        With objCell.EntireRow
        .Font.Bold = True
        .Font.Italic = False
        .Font.ColorIndex = xlAutomatic
        .Font.TintAndShade = 0
        .Interior.Pattern = xlGray75
        .Interior.PatternThemeColor = xlThemeColorDark1
        .Interior.Color = 255
        .Interior.TintAndShade = 0
        .Interior.PatternTintAndShade = 0
        End With
    End If
Next
End Sub
Gruß Gerd

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ganze Zeile einfärben wenn Wert größer 0"