Bedingte Formatierung mit Auswertung VBA
14.01.2026 10:24:11
mckater
Wenn z.B. Zelle K wie Zelle M folgendes haben von Messdaten die lt. bedingter Formatierung ROT bzw. schwarz gehalten werden
(rot natürlich für außerhalb der Toleranz und der VBA Code liest es und macht ein x oder eine o)....per Makro
Also wenn die überprüfte Zelle in der Zelle K schon rot hat, kommt raus ein x für nicht bestanden
Wenn dann die Zelle K gut ist und in der Toleranz ist, aber Zelle M rot ist, kommt auch ein x für nicht bestanden raus.
Das klappt super!....aber das Problem trifft auf....die Zellen K wie M sind mit bedingten Formatierungen bestückt.
Wenn also in der Zelle M kein Wert steht, nimmt der VBA Code an, ist vbred und das ist schlecht.(bedingte Formatierung)
Die Zellen K wie M sind entscheidend wichtig für den Prüfbericht.
Es kann sein das man nur in der Zelle K Werte schreibt und nicht in der Zelle M
Wenn ich die Werte lösche, also die bedingte Formatierung klappt das super....aber ich will ja, das VBA sieht, kein Wert okay und wenn Zelle K außerhab der Toleranz ist mach x
Um nicht so kompliziert zu schreiben:
Wenn Zelle von K rot ist, dann ist schon mal das Ergebnis x in einer anderen Zelle
Wenn Zelle von K rot ist und auch die Zelle M rot ist, dann ist das Ergebnis x in einer anderen Zelle
Wenn die Zelle K grün wäre, ich meine innerhalb der Toleranz wäre das okay und dann prüfen wir noch Zelle M mit Offset und wen die rot hat ist oder sollte das Ergebnis x für nicht bestanden sein.
Wenn die Zelle K grün wäre und auch die Zelle M grün und innerhalb der Toleranz muss es ein o geben für die Auswertung.
Ich könnte das Thema noch so fortführen.....
Im Prinzip klappt es super:
Problem:
Ich habe in Zelle M wie Zelle K eine bedingte Formatierung!
Muss auch so sein, weil es kann ja nicht nur einen Messwert geben in M bzw. K
Sobald ich keine Messwerte in K habe, glaubt Excel, das ist vbred und falsch!!!
Im Prinzip müsste ich mir einen Prüfbericht immer selben erstellen, wo ich sage, der hat nur einen Messwert oder die anderen zwei....das ist nicht VBA oder der Sinn....funktioniert super...aber sollte es nicht einfacher gehen mit Codes?
mein Code:
If (ActiveCell.DisplayFormat.Font.Color = vbRed Or Selection.Offset(0, 2).DisplayFormat.Font.Color = vbRed) _
And ActiveCell > "" Then
Er überprüft die Zellen und wenn eine leer ist, dann auch
Ich möchte eigentich, er soll beide Zellen prüfen auf vbred und dann auch noch wenn die Zelle M leer ist mach es so, wenn Zelle M schon nicht bestanden hat
Irgendwie versuche ich alles und komme nicht auf den Punkt
Anzeige