Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen Farblich makieren

Zellen Farblich makieren
Toni
Hallo Excelfreunde,
ich möchte in Spalte B3:B1000 verschiedene Werte eingeben die da währen ab 6 ; ab 7; ab 12 usw.
Je nach dem welcher Wert nun in der Zelle steht soll diese Farblich hinterlegt werden. Es sind über 15 verschiedene Farben, also für jede Zahl eine Farbe.
https://www.herber.de/bbs/user/74457.xls
siehe Beispiel Tabelle
ist das machbar mit VBA da die Bedingte Formartierung ja nur 3 Bedingungen zuläßt.
mfg.
Toni
Das geht natürlich mit VBA, wobei du...
19.04.2011 18:20:26
Luc:-?
…dann die Wahl hast, Toni,
zwischen Direktfärbung und dynamisierter Bedingtformatierung, falls du im letzteren Fall deine Hauptbedingungen auf 3 beschränken kannst. Zu jeder Hauptbedingung kannst du dann in einer Legende mehrere Unterbedingungen formulieren, deren Erfüllung per VBA-Subroutine kontrolliert wird und je nachdem die Farben der jeweiligen Hptbedingung in der Bedingtformatierung ausgetauscht wdn (fktt nur bis xl11!). Das hat den Vorteil, dass du bei Nichterfüllung der Hptbedingung die Zellfärbung nicht wieder zurückstellen musst, das macht dann die xlAutomatik. Bspp für beide Möglichkeiten findest du im Archiv.
Gruß Luc :-?
Anzeige
Färben mit VBA ...
19.04.2011 18:23:52
Matthias
Hallo Toni
Hier mal eine Variante für Dein Beispiel
Sub faerben() Dim Rng For Each Rng In Range("B3:B32") With Rng Select Case .Value Case Is = "ab 6" .Interior.ColorIndex = 6 Case Is = "ab 7" .Interior.ColorIndex = 7 Case Is = "ab 12" .Interior.ColorIndex = 12 Case Is = "ab 18" .Interior.ColorIndex = 18 Case Is = "ab 24" .Interior.ColorIndex = 24 End Select End With Next End Sub Gruß Matthias
AW: Färben mit VBA ...
19.04.2011 19:16:00
Toni
Hallo Matthias,
habe deine Variante gleich ausprobiert und was soll ich sagen
das ist genau das was ich brauche.
DANKE für die schnelle Hilfe
mfg.Toni
...und wie färbst du wieder zurück, wenn...
19.04.2011 20:07:54
Luc:-?
…die Bedingung nicht mehr zutrifft?
Luc :-?
Anzeige
AW: ...und wie färbst du wieder zurück, wenn...
20.04.2011 09:35:43
Toni
Hallo Luc,
daran habe ich noch gar nicht gedacht. Und wie stell ich das an?
Mit der Variante vom Matthias bin ich bestens zufrieden.
mfg.
Toni
da hätte ich auch ne Lösung gehabt ;o)
20.04.2011 17:34:06
Matthias
Toni, aber dannach hattest Du ja nicht gefragt.
Code in die entsprechende Tabelle
Private Sub Worksheet_Change(ByVal Target As Range)
'Für B3:B32
If Target.Column = 2 And Target.Row > 2 And Target.Row Case Else
.Interior.ColorIndex = xlNone
End Select
End With
End If
End Sub

Änderst Du nun in einer Zelle im Bereich B3:B32 einen Eintrag, so passt sich die Farbe entsprechend an. Bei einem anderen Eintrag als jeweils in: Case Is festgelegt, wird die Farbe entfernt.
Das passiert durch diese 2 Zeilen:

Case Else
.Interior.ColorIndex = xlNone


Das Ergebnis sieht dann z.B. so aus:
Tabelle1

 B
3ab 12
4Hallo
5ab 6
6Toni
7ab 12
8leer
9ab 18
10ab 24
11ab 6
12ab 18


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige
Das ist aber nicht allgemein vbdl, Matthias,...
22.04.2011 19:31:08
Luc:-?
…denn die Zellen könnten ja auch ganz anders gefärbt gewesen sein. Ich halte meine, früher hier schon vorgestellte Lösung für wesentl universeller als eure Standardlösungen, die eine wie die andere aussehen und im Grunde im Ggsatz zu echter Bedingtformatierung nur Insellösungen sind.
Gruß + FrOst, Luc :-?
AW: Das ist aber nicht allgemein vbdl, Matthias,...
23.04.2011 08:59:41
Toni
Hallo luc,
das ich nicht danach gefragt habe liegt daran das ich nicht daran gedacht habe.
Habe deinen Vorschlag sofort übernommen.
Das macht ja auch Sinn.
Danke nochmal und ein frohes Osterfest
mfg.Toni
Dito! owT
25.04.2011 03:15:29
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige