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

Anpassung der Zellenfarbe bezogen auf demZellenwert

Forumthread: Anpassung der Zellenfarbe bezogen auf demZellenwert

Anpassung der Zellenfarbe bezogen auf demZellenwert
09.07.2025 16:06:17
FrankP
Hallo,
ich möchte die Zellen auf Basis ihres Wertes einfärben. Da ich die Farbe der Zellen in der Spalte im Anschluss auswerten möchte mache ich es nicht mit der Bedingter Formatierung.
Beispiel:
Wenn der Wert 55 dann Style = "gut"
die For-Next Schleife bricht immer wieder an unterschiedlichen Stellen ab.
Gestartet wird dieses wenn ich eine Änderung vornehme (Workbook_SheetChange)
Eine Vermutung ist, dass die Zelle nicht geändert werden kann, wenn sie schon das Format besitzt (?)
Mit On Error Resume Next habe ich versucht den Fehler zu "ignorieren" - ohne Erfolg
Ist die Lösung Grundsätzlich falsch. Ich hoffe das mir jemand weiterhelfen kann.
Gruß Frank
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)


'############SGT_A
Dim Bereich As Range
Dim Zelle As Range
Dim wert1 As Long
Dim wert2 As Long

'Grenzwerte
wert1 = 55
wert2 = 70
On Error Resume Next

For Each Zelle In Range("F4:F35")

If Zelle.Offset(0, -1).Interior.Color = 15189684 Then
Zelle.Style = "befreit" 'Farbe blau für "befreit"

ElseIf IsEmpty(Zelle) Then
Zelle.Style = "leer" 'Zellenfarbe löschen

ElseIf Zelle wert1 Then
Zelle.Style = "gut" 'Farbe grün

ElseIf Zelle >= wert1 And Zelle wert2 Then
Zelle.Style = "neutral" 'Farbe gelb

ElseIf Zelle >= wert2 Then
Zelle.Style = "schlecht" 'Farbe rot

End If
Next Zelle
End Sub
Next Zelle

Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anpassung der Zellenfarbe bezogen auf demZellenwert
09.07.2025 16:18:13
{Boris}
Hi,

das ist imho der falsche Ansatz und im Prinzip eine klassische Aufgabe für die Bedingte Formatierung.
Wie erhält denn die linke Nachbarzelle ihre Farbe? Manuell?

VG, Boris
AW: Anpassung der Zellenfarbe bezogen auf demZellenwert
09.07.2025 16:35:52
FrankP
Hallo Boris,
die benachbarte Zelle färbe ich mit bedingter Formatierung.
Aufgabe:
ich habe mehrere Zeilen mit jeweils 4 Spalten. Die einzelnen Spalten haben unterschiedliche Grenzwerte. Auf Basis dieser Grenzwerte werden die einzelnen Zellen eingefärbt.
(eigentlich Bedingte Formatierung)
Nun soll die letzte Spalte auswerte welche Farben diese Zelle hat, das geht m.E. aber nicht über die Farbe(wenn durch Bedingter Formatierung), da diese so nicht ausgelsen werden kann.
Deshalb wollte ich in VBA die Zellenfarbe mit den Bedigugnen vergeben.
VG Frank
Anzeige
AW: Anpassung der Zellenfarbe bezogen auf demZellenwert
09.07.2025 16:43:29
{Boris}
Hi,

auch das geht mit der Bedingten Formatierung. Musst dort halt auch auf die Bedingung (und nicht die Farbe) prüfen.
Lad doch mal ein kleines Beispiel hoch - dann wird es einfacher.

VG, Boris
AW: Anpassung der Zellenfarbe bezogen auf demZellenwert
09.07.2025 17:17:59
{Boris}
Hi,

Du hattest geschrieben:

Die einzelnen Spalten haben unterschiedliche Grenzwerte. Auf Basis dieser Grenzwerte werden die einzelnen Zellen eingefärbt.
(eigentlich Bedingte Formatierung)


Das bezieht sich ja wohl auf die Spalten F bis I. Da sind in der Datei aber keine bedingten Formatierungen drin.

VG, Boris
Anzeige
Gegebenenfalls...
09.07.2025 21:36:25
{Boris}
Hi,

...musst Du die Reihenfolge (rot gelb) innerhalb der Bedingten Formatierung noch tauschen - je nachdem, was dominant sein soll (aktuell ist gelb dominant).

VG, Boris
Anzeige
AW: Gegebenenfalls...
10.07.2025 13:30:20
FrankP
Hi, sorry, dass ich mich erst heute zurückmelde.
Danke erst einmal für diesen "neuen" Ansatz. Bedingt aber eine Hilfstabelle, oder?
Ist aber natürlich eine Lösung. Also erst einmal Danke dafür!!!

Muss natürlich keine VBA-Lösung sein. Würde dennoch gerne herausbekommen, was ich falsch gemacht habe, bzw. der VBA-Ansatz nicht läuft )o;

superschnelle Antwort !!!

VG Frank
Anzeige
AW: Gegebenenfalls...
10.07.2025 13:55:08
{Boris}
Hi,

die Hilfsspalten kannst Du ja ausblenden. Theoretisch könnte man die ganzen Hilfsspalten auch direkt in der Formel für die Bedingte Formatierung verwursten - aber das wird dann zu unübersichtlich, zumal Du auch für alle 4 Spalten andere Grenzwerte hast.

VG, Boris
AW: Gegebenenfalls...
10.07.2025 15:01:01
daniel
Hi
in deinem Code sind ein paar dinge "umständlich"
beispielsweise läuft der Code bei jeder Änderung über jede Zelle des Bereichs.
das ist zwar nicht falsch, aber wie gesagt umständlich.

also nicht pauschal:
for each zelle in Range("F5:F20")

sondern nur die gänderten Zellen im relevanten Bereich
if Zelle Not intersect(Target, Range("F5:F20")) is nothing then

For each Zelle in intersect(Target, Range("F5:F20")


da on error resume next solltest du hier rausnehmen und stattdessen lieber die ursache bereinigen, falls der Code auf einen Fehler läuft.


falls du das ganze ohne Code lösen willst, (was ich auch empfehlen würde)

füge doch einfach oberhalb der Tabelle noch drei Zeilen ein und schreibe dort für jede Spalte die Grenzwerte für Rot,Grün,Gelb rein.
damit hast du dann für jede Spalte eigene Grenzwerte, die du in der Bedingten Formatierung verwenden kannst oder auch beim Auswerten mit ZählenWenns. Dann werden die Hilfsspalten unnötig.

Gruß Daniel

Gruß Daniel
Anzeige
AW: Gegebenenfalls...
10.07.2025 15:45:47
{Boris}
Hi Daniel,

gut - aber mit ZÄHLENWENN(S) lässt sich das dann am Ende (für die Färbung in Spalte J oder auch für eine reine Zählung) nicht so ohne Weiteres (bzw. ohne Hilfsspalten) auswerten, denn was genau soll man da zählen?

VG, Boris
AW: Gegebenenfalls...
10.07.2025 16:48:45
daniel
sollte in Spalte J irgendwas gezählt werden?
nach welcher Regel?
hab ich da was übersehen?
Wenn Spaltenübergreifend mit unterschiedlichen Grenzwerten was ausgezählt werden soll, dann ggf mit Summenprodukt.
aber wie gesagt, ich habe dazu nichts gefunden.

Anzeige
AW: Gegebenenfalls...
10.07.2025 22:45:12
{Boris}
Hi Daniel,

In Spalte J soll die Bedingte Formatierung (quasi als farbliches Endergebnis) anschlagen: mind. 1 der 4 Spalten davor gelb = gelb. Mind. 1 der 4 Spalten davor rot = rot. Ansonsten grün.

VG Boris
AW: Gegebenenfalls...
10.07.2025 23:34:28
daniel
das kannst du mit ODER doch auswerten.

also Beispiel:
Grenzewert für Rot in Zeile 3

dann die Berechnung für Zeile 7 (und andere)
so für Rot: =ODER($F7:$I7>=$F$3:$I$3)

das wird WAHR, wenn ein Wert aus Zeile 7 größer ist als der Vergleichswert in der Zeile 3 in der gleichen Spalte.

wenn du es Zählen willst, wieviele Rot- oder Gelbfälle vorhanden sind, geht auch SummenProdukt
für Rot: =SummenProdukt(1*($F7:$I7>=$F$3:$I$3))>=1

aber in welchem Beitrag hat Frank geschrieben, dass zeilenweise ausgewertet werden muss?
was habe ich übersehen?

Anzeige
AW: Gegebenenfalls...
11.07.2025 01:07:40
{Boris}
Das steht so in seinem 2. Beitrag - und auch als Kommentar in Spalte J.
Das war ja sein Hauptanliegen.
AW: Gegebenenfalls...
11.07.2025 01:28:25
Daniel
In dem Beitrag steht nicht man von Spalte J.

Aber seid drum

Funktioniert es so wie ich es beschrieben habe ohne zusätzliche Spalten?
AW: Gegebenenfalls...
11.07.2025 14:44:10
{Boris}
Ja, da steht "letzte Spalte" - und das ist halt J. Und in J4 steht ein entsprechender Kommentar.
Aber sei`s drum.
Anzeige
AW: Gegebenenfalls...
11.07.2025 14:46:37
daniel
funktioniert meine Lösung ohne zusätzliche Spalten ja oder nein?
AW: Gegebenenfalls...
11.07.2025 15:41:32
{Boris}
Die Frage geht ja nicht an mich sondern an den Fragesteller.

@FrankP: Läuft das mit Daniels Vorschlag bei Dir jetzt wie gewünscht?

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige