Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1516to1520
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

Farbendefinition in anderer Zelle

Farbendefinition in anderer Zelle
09.10.2016 22:02:22
2brix
Hallo zusammen
Eigentlich habe ich ein relativ einfaches "Problem". Doch trotz mehrfachem Probieren und googeln, komme ich nicht auf eine schöne Lösung. Huh
Ausgangslage:
Ich habe im Excel im 1.Blatt mit einer Tabelle, wo ich Werte hinterlegt habe. zb X1, X2, Y3, Y4, Z8, Z12 usw
Jeder Zelle habe ich eine Hintergrundsfarbe zugeordnet. = Farbdefinition
Weiter habe ich auf dem 2. Blatt eine Auflistung, wo diese Werte wieder vorkommen.
Also einen Bereich, wo dann X2, Z12, X2, Y3 usw drinstehen.
Ziel:
Nun möchte ich gerne, dass auf dem 2.Blatt, die Zelle dieselbe Hintergrundfarbe bekommt, wie ich auf dem 1.Blatt definiert habe.
Also wenn auf dem 1.Blatt X2 Hintergrundfrabe gelb ist, dann sollen alle Zellen auf dem 2.Blatt mit X21 auch Hintergrundfarbe gelb haben.
Zusatz:
Nicht zwingend aber auch noch schön wäre:
- wenn die Farbe in 1.Blatt geändert wird, soll 2.Blatt direkt angepasst werden
- in einer weiteren Zelle soll 'Z' stehen und dann sollen nur alle Zellen mit 'Zx' eingefärbt werden. Also damit zb nur Gruppe Z ausgedruckt werden kann.
(allenfalls gibt es hier eine bessere Lösung)
Schwierigkeit
2.Blatt ist ein Bereich, hier habe ich mit Range versucht.
Dann einen Case, wo ich aber nicht recht weiss, wie ich die Werte vergleichen soll, da dort ja auch mit einem Bereich verglichen werden muss.
Und dann sollte ich ja noch die Hintergrundfarbe übergeben.
B1:H10 Wert in
A1:A10 enthalten,
dann Farbe aus Zell von A1:A10 übernehmen
Habt ihr mir einen Tipp, um meinen Knopf zu lösen.
Vielen Dank
2b

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbendefinition in anderer Zelle
10.10.2016 00:09:44
Jens
Hallo 2b,
vill. kann ich Dir etwas helfen.
Hatte auch mal ein ähnliches Problem. Hier meine Lösung:
P.S. Wenn Du mit den Farbwerten experimentierst, beachte das die Unterschiedlichen Monitore
unterschiedliche Ergebnisse produzieren. Ein z.B. Hellblau bei mir, kann bei Dir ziemlich Dunkel sein
oder noch heller ;)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim X, y As Long
For y = 8 To 102                        'Zeilen
For X = 11 To 28                        'Spalten "K" bis "AB"
Select Case Cells(y, X).Text
Case "X1", "X2"
Cells(y, X).Interior.Color = RGB(245, 159, 0)      'RGB Farbwert - Jaffa
Case "6"
Cells(y, X).Interior.Color = RGB(197, 146, 193)    'RGB Farbwert - Fuchsie
Case "7"
Cells(y, X).Interior.Color = RGB(57, 169, 52)      'RGB Farbwert - Permanentgrü _
n
Case "Y3"
Cells(y, X).Interior.Color = RGB(213, 19, 121)     'RGB Farbwert -  _
Industriemagenta
Case "Y4"
Cells(y, X).Interior.Color = RGB(231, 64, 50)      'RGB Farbwert - Merinorot
Case "100"
Cells(y, X).Interior.Color = RGB(102, 205, 170)    'RGB Farbwert -  _
MediumAquamarine
Case "Am", "24.12.2016", "ist", "Heiligabend"
Cells(y, X).Interior.Color = RGB(168, 153, 161)    'RGB Farbwert - Staubgrau
Case Else
Cells(y, X).Interior.Color = xlNone                'alte Farbe löschen
End Select
Next X, y
Application.ScreenUpdating = True
End Sub
Vielleicht kommst Du damit weiter.
Sicherlich haben die Profies noch ganz andere Lösungen parrat ...
Grüße
Anzeige
In den neuen Xl-Versionen gibt's 'ne breite ...
10.10.2016 02:12:14
Luc:-?
…Palette enumerierter Farbtöne, Jens,
deren Konstanten(-Namen) man hier direkt anstelle der RGB-Werte verwenden könnte.
Ansonsten könnte das auch flexibler in deinem Sinn gestaltet wdn, 2brix,
wenn du im 1.Blatt deine Farb­Definition als 2spaltige Tabelle anlegst und in der 2.Spalte den Farbwert der 1.Spalte (wenn diese entsprd gefärbt wird) ermittelst. Dann kannst du die ganze Tabelle benennen, also einen Namen definieren, der auf sie verweist, zB Farbdefinition. Falls du eine der Farben umfärbst, musst du anschld noch in diese Zelle klicken, damit ihr Farbwert neu ermittelt wird.
Am günstigsten wäre es natürlich, in Tabelle2 mit Bedingt­Forma­tierung zu arbeiten, aber dann müsstest du zig Regeln für jede möglicher­weise mal zu verwendende Farbe anlegen, weil die Formate nur direkt eingestellt wdn können. Das könnte man alter­nativ zwar auch per VBA machen, aber dann müsste die davon betroffene Regel stets erst ermittelt wdn. Dann käme man mit einer Regel pro definiertem Wert für alle davon betrof­fenen Zell­Bereiche aus.
Ansonsten könnte man natürlich (wie Jens) auch direkt färben, aber dann muss bei evtl Ände­rungen an Tabelle2 die Zell­Farbe ggf auf die Grund­Farbe zurück­gesetzt wdn, die Jens mit ungefärbt (=weiß) annimmt.
Die Farbwerte für die Farbdefinition kannst du mit einer UDF oder einer einfachen SubProzedur ermitteln, von denen es genug im Netz und auch im hiesigen Archiv geben sollte, zB die nur mit der UDF TxEval verwend­bare CellColor (beruht auf einem Objekt, das idR nicht in ZellFml-Fktt verwendet wdn kann!). Ansonsten kannst du natürlich auch die uralte XLM-Fkt ZELLE.ZUORDNEN in einer benannten Fml einsetzen, aber die ermittelt nur den FarbIndex. Wenn dir der reicht (in den neuen Xl-Versionen können mehrere, deut­lich unter­scheid­bare Farbtöne den­selben Index haben!), kannst du sie verwenden.
In einer EreignisProzedur von Tabelle2 (wie Jens o.ä.) könntest du dann mit der WshFct.VLookUp arbeiten:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const adRelFbBer$ = "A13:A20", naRelFbDef$ = "Farbdefinition"  'anpassen!
Dim ziel As Range
On Error Resume Next
If Not Intersect(Target, Me.Range(adRelFbBer)) Is Nothing Then
For Each ziel In Target
ziel.Interior.Color = WorksheetFunction.VLookup(ziel, _
ThisWorkbook.Names(naRelFbDef).RefersToRange, 2, 0)
Next ziel
End If
End Sub
Das könnte man natürlich auch vollautomatisch bei FarbÄnderung in der Farb­Definitions­Tab machen. Dann müsste eine zusätzliche _Change-Prozedur in Tabelle1 entweder die Auswahl der relevanten Zell­Bereiche von Tabelle2 veranlassen oder die Farben direkt ändern. Alternativ könnten natür­lich auch Bedingt­Forma­tierungs­Farben entsprd geändert wdn.
Morrn, Luc :-?
Besser informiert mit …
Anzeige
AW: In den neuen Xl-Versionen gibt's 'ne breite ...
10.10.2016 10:18:55
2brix
Vielen Dank für eure prompten Antworten Jens und Luc:-?
Gerne melde ich mich später nochmals.
Grüße 2b

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige