Excel Zelle farblich ändern im Bezug auf einer anderen Zelle?

...komplette Frage anzeigen

2 Antworten

G2:G47 markieren.
Start/ Bedingte Formatierung/ Neue Regel/ Formel zur Ermittlung der zu formatierenden Zellen verwenden/ Werte formatieren, für die diese Formel wahr ist -->:

=C2="In Work"

Formatiern/ Aufüllen/ gelb.
Die anderen dito.

Hilft Dir das?

MeikelZW 17.01.2017, 15:21

Hallo Oubyi,

geht diese Bedingung auch in der Matrixform:

=C2:C47="InWork"

oder muss das alles am Ende zu einer Bedingung zusamme gefasst werden?

Und ab welcher Excel Version gilt das?

Gruß, MeikelZW

0
DeeDee07 17.01.2017, 16:07
@MeikelZW

Ich bin zwar nicht Oubyi, antworte aber trotzdem mal.

Auch wenn in der Frage nicht ganz eindeutig formuliert, denke ich, dass eine zeilenweise Überprüfung und Färbung stattfinden soll, also wenn C2 = "in Work", dann soll G2 eingefärbt werden; wenn C3 = "in Work", dann soll G3 eingefärbt werden usw. Entsprechend funktioniert Oubyis Lösung.

Falls der komplette Bereich wirklich nur dann eingefärbt werden soll, wenn überall in C2:C47 "in Work" steht, dann könnte man das in der BF z.B. mit ZÄHLENWENN abfragen:

=ZÄHLENWENN(C$2:C$47;"in Work")=46

1
Oubyi 18.01.2017, 01:17
@DeeDee07

Danke DeeDee. Dem habe ich nichts hinzuzufügen.

0
Tron1701 18.01.2017, 06:52
@DeeDee07

Hallo,

die letzte Option "=46" ist nicht erforderlich, zudem funktioniert es nicht mit dieser.

Ansonsten Top !

Gruß Tron

0
DeeDee07 18.01.2017, 14:18
@Tron1701

Es geht um eine Formel in der Bedingten Formatierung; dort wird ein Wahrheitswert erwartet. Deswegen die Prüfung, ob die Anzahl von "In Work" = 46 ist.

1

Hallo SebastianVL,

das geht nach meinen Kenntnissen nur per VBA, also Makros. Und da auch nur über ein so genanntes Klassenmodul. Geht auch, in manchen Fällen in normalen Modulen, ist aber ungleich aufwendiger und komplizierter.

Du musst eine Eventüberwachung implementieren. So, dass dei Blechkiste „weiß”, dass Du in der Matrix C2:C47 am Wirken bist. Darauf hin kannst Du von VBA aus alles erdenkliche mit den reagierenden Zellen machen, was Excel her gibt. Das hier, in dieser Umgebung vollständig zu erklären, dürfte den Rahmen sprengen.

Ich schlage vor, Du arbeitest in der VBA Hilfe mit den Schlagworten Event, Klassenmodul und Formatierungsmethoden.

DoEvents ist auch noch eine wichtigen Methode dabei um die Formatänderungen wärhend des Prozesses auch anzeigen zu lassen. Sonst geht alles so schnell vorüber, dass Du Dir die Sache letztendlich schenken könntest. 

Versuch mal Dein Glück! Ist dort eigentlich alles einigermaßen gut beschreiben. Ansonsten hier noch ein Link. für den Fall, dass die eingebaute Hilfe unvollständig ist:

http://www.vba-wordwelt.de/programmiertechniken-mit-vba/

Gruß, MeikelZW

Oubyi 17.01.2017, 15:07

So wie ich die Aufgabe verstehe, ist das mit einer simplen Bedingten Formatierung leicht zu lösen. VBA ist da völlig unnötig.

0
MeikelZW 17.01.2017, 15:16
@Oubyi

Stimmt (fast)!

Nur wie soll die bedingte Formatierung das Event „In Work" *¹ mitbekommen?

Wenn es hier eine Möglichkeit gibt, die ich noch nicht kenne, dann möge man mir das schreiben! Damit wäre auch mein Leben in der Datenwelt einfacher :-/

*¹ ich weiß, das in Arbeit eingentlich „in progress” heißt, habe mich nur auf den Fragesteller bezogen…

Gruß, MeikelZW

0
Oubyi 18.01.2017, 01:16
@MeikelZW

So wie ich den FS verstehe ist "In Work" ein String, der als Wert in der Stelle steht. (NICHT als Event, dass die Zelle gerade bearbeitet wird. DAS gibt es nicht.)
Ich stelle mir da eine Tabelle vor, in der der Status von Projekten aufgelistet ist, per Eintrag.

0
MeikelZW 18.01.2017, 23:27
@Oubyi

...dann habe ich die Frage wohl fehlinterpretiert. Eine solche Bedingung ist in der „normalen” Excel Umgebung freilich nicht gegeben.

Dazu muss man sich schon in die Tiefen des VBA wagen. Dort gibt es Eventlistener, die Zellen oder ganze Zellenbereiche (Areas) „beobachten” können, Ob dort z.B. hineingelickt oder etws verändert wird.

Hatte woh gleich zu kompliziert gedacht, passiert mir schon mal ;-)

Gruß, MeikelZW

0

Was möchtest Du wissen?