Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile rot einfärben, wenn Zelle X einen Wert übers

Forumthread: Zeile rot einfärben, wenn Zelle X einen Wert übers

Zeile rot einfärben, wenn Zelle X einen Wert übers
Takahara
Hallo,
ich habe eine Berechnung abgeschlossen und möchte nun mit der Auswertung das ganze abrunden.
Dazu möchte ich meine Tabelle durchlaufen (mit einer For-Schleife) und jedes mal wenn in einer Zeile der Wert in der Spalte "L" über den Wert einer Variablen (Uss2) steigt, die Zeile rot einfärben.
Ich glaube die bedingte Formatierung bringt mich hier nicht weiter.
Meinen Ansatz habe ich schon mal mit gepostet.
'''''''''''''''''''''''''''''''
'Zellen Färben
''''''''''''''''''''
zaehler = -1
For k = SCR_min To SCR_max Step SCR_step
zaehler = zaehler + 1
If Range("L" & CStr(zaehler + 5)).Value kleiner als Uss2 Then
"Hier muss nach meiner Meinung die Färbung erfolgen"
End If
Next
Vielen Dank schon mal
Gruß Takahara
Anzeige
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 10:56:54
Gerd
Hallo Takahara!
Range("L" & (zaehler + 5)).Interior.Color = vbRed
Gruß Gerd
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 16:32:02
Takahara
Hallo,
erstmal danke an Gerd für die schnelle Antwort.
Das klappt soweit ganz gut. Nur wird in diesem Fall nur die Spalte L rot gefärbt. Kann mir jemand vielleicht noch sagen wie ich die Spalten A bis P rot färben kann?
Danke
Gruß Takahara
Anzeige
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 16:42:50
Takahara
Hallo nochmal,
wenn ich das richtig verstehe, ändere ich mit dem Befehl die Hintergrundfarbe.
Wenn ich jetzt die Formatierung wieder rückgängig machen will und meine Daten löschen will und gleichzeitig auch das Rot wieder herraus nehmen will.
Kann mir jemand sagen mit welchen Befehlen ich das machen kann?
Vielen Dank
Takahara
Anzeige
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 17:51:20
Gerd
Hallo Takahara!
Sub Faerben()
zaehler = -1
For k = SCR_min To SCR_max Step SCR_step
zaehler = zaehler + 1
If Range("L" & CStr(zaehler + 5)).Value 
Gruß Gerd
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 18:12:49
Takahara
Hallo Gerd,
ich bekomme immer einen Laufzeitfehler 9
Index außerhalb des gültigen Bereichs in der Zeile mit dem Inhalt:
Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 12)).Interior.ColorIndex = vbRed
Spreche ich mit dem Index "1" und "12" die Spalten an? Sprich 1=A und 12 = L
Gruß Takahara
Anzeige
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 18:20:40
Urmila
Hallo Takahara,
versuchs mal so...
Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 12)).Interior.ColorIndex = 3
LG
Urmila
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 19:02:54
Gerd
Hallo Takahara,
upps.
ersetze
Interior.ColorIndex
durch
Interior.Color
Spaltenindex: Ja, so ist es.
Gruß Gerd
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
10.10.2010 19:49:22
Takahara
Hallo Gerd,
kannst du mir bei dem Problem mit dem löschen noch helfen?
In meiner Excel Tabelle steht ab Zeile 10 bis zur Zeile X (ist immer unterschiedlich) etwas drin. Die Spalten A bis P gehören auch dazu.
Jetzt möchte ich noch den Inhalt dieser Zellen löschen und auch die Färbung weg nehmen.
Mit deinem Behfehl:
Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 12)).Interior.Color= xlColorIndexNone
nehme ich sicherlich die Färbung weg.
Jetzt habe ich aber das Problem, dass ich nicht weiß, wie ich den Inhalt löschen kann und eine For-Schleife bietet sich auch nicht an, da ich die Variable "zaehler" nicht mehr habe. Da ich das löschen in ein neues Makro schreiben will.
Gruß Takahara
Anzeige
AW: Zeile rot einfärben, wenn Zelle X einen Wert übers
11.10.2010 20:17:44
Gerd
Hallo Takahara,
doch besser mit Colorindex. Teste mal. Nach unten werden alle Zellen in Spalten A:P bearbeitet.
Sub retour()
With Sheets("Tabelle1")      'Blattname ggf. anpassen
With Intersect(.UsedRange, .Cells(10, 1).Resize(.Rows.Count - 9, 12)).Cells
.ClearContents
.Interior.ColorIndex = xlColorIndexNone
End With
End With
End Sub
Gruß Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zeile rot einfärben, wenn Zelle X einen Wert übers


Schritt-für-Schritt-Anleitung

Um eine Excel-Zeile rot zu färben, wenn der Wert in einer bestimmten Zelle (z.B. Spalte L) einen bestimmten Wert (z.B. Uss2) überschreitet, kannst du das folgende VBA-Makro verwenden:

Sub Faerben()
    Dim zaehler As Integer
    Dim SCR_min As Integer
    Dim SCR_max As Integer
    Dim SCR_step As Integer
    Dim Uss2 As Double

    ' Setze hier die Werte für SCR_min, SCR_max, SCR_step und Uss2
    SCR_min = 10
    SCR_max = 20
    SCR_step = 1
    Uss2 = 100 ' Beispielwert

    zaehler = -1
    For k = SCR_min To SCR_max Step SCR_step
        zaehler = zaehler + 1
        If Range("L" & CStr(zaehler + 5)).Value > Uss2 Then
            Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 16)).Interior.Color = vbRed
        End If
    Next k
End Sub

In diesem Beispiel wird die Zeile rot gefärbt, wenn der Wert in Spalte L größer ist als Uss2. Du kannst die Anzahl der Spalten, die gefärbt werden sollen, anpassen, indem du die Endnummer im Cells-Bereich änderst (hier 16 für A bis P).


Häufige Fehler und Lösungen

  1. Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs

    • Dieser Fehler tritt auf, wenn du auf einen Zellbereich zugreifst, der nicht existiert. Stelle sicher, dass die Werte von SCR_min und SCR_max korrekt gesetzt sind und dass du nicht außerhalb des Arbeitsblattes zugreifst.
  2. Die Färbung erfolgt nicht

    • Überprüfe, ob die Bedingung If Range("L" & CStr(zaehler + 5)).Value > Uss2 korrekt ist. Stelle sicher, dass der Wert in Spalte L tatsächlich größer ist als Uss2.

Alternative Methoden

Eine alternative Methode zur Färbung von Zeilen in Excel ist die Verwendung der bedingten Formatierung. So kannst du dies einrichten:

  1. Wähle den Bereich aus, den du formatieren möchtest (z.B. A10:P20).
  2. Gehe zu "Start" -> "Bedingte Formatierung" -> "Neue Regel".
  3. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden".
  4. Gib die Formel =L10>Uss2 ein (angepasst an deine Zellen).
  5. Wähle das Format (z.B. rot) und klicke auf "OK".

Diese Methode ist besonders nützlich, wenn du keine VBA-Kenntnisse hast.


Praktische Beispiele

Hier sind einige weitere Beispiele, die du verwenden kannst:

  • Färbe Zeilen rot, wenn der Wert in Spalte A kleiner als 50 ist:
If Range("A" & CStr(zaehler + 5)).Value < 50 Then
    Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 16)).Interior.Color = vbRed
End If
  • Färbe Zeilen rot, wenn der Wert in Spalte B gleich "Fehler" ist:
If Range("B" & CStr(zaehler + 5)).Value = "Fehler" Then
    Range(Cells(zaehler + 5, 1), Cells(zaehler + 5, 16)).Interior.Color = vbRed
End If

Diese Beispiele zeigen, wie flexibel die Färbung der Zeilen in Excel sein kann, basierend auf verschiedenen Bedingungen.


Tipps für Profis

  • Verwende ColorIndex anstelle von Color, um mehr Kontrolle über die Farbpalette in Excel zu erhalten.
  • Du kannst die Färbung auch zurücksetzen, indem du die Farbe auf xlColorIndexNone setzt, um die Formatierung zu löschen.
  • Experimentiere mit anderen Bedingungen in der If-Anweisung, um noch spezifischere Färbungen vorzunehmen.

FAQ: Häufige Fragen

1. Kann ich mehrere Bedingungen für die Färbung verwenden?
Ja, du kannst mehrere If-Anweisungen innerhalb der Schleife verwenden, um verschiedene Bedingungen für die Färbung festzulegen.

2. Wie kann ich die Färbung zurücksetzen?
Verwende den Befehl Interior.ColorIndex = xlColorIndexNone, um die Färbung der Zellen zu entfernen.

3. Funktioniert das auch in Excel Online?
Das VBA-Skript funktioniert nur in der Desktop-Version von Excel. Excel Online unterstützt diese Funktionalität nicht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige