Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
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

Hintergrundfarbe einer Zelle automatisch übertrage

Hintergrundfarbe einer Zelle automatisch übertrage
16.11.2014 23:35:33
Martin
Folgendes Excel-2003 Problem.
Ich entwerfe ein Spielformular für bis zu 10 Spielern.
Auf Blatt 1 stehen die Zahlen 1 bis 10 (im Bereich A15:A24) , jede Zahl entspricht einem Spieler und damit einer eigenen Farbe (Spieler/Farbe: 1= Meeresgrün, 2= Türkis, 3= Hellgelb, 4= Lavendel, 5= Hellblau, 6= Gelbgrün, 7= Hellorange, 8= Braun,9= Grau -25%, 10= Blaugrau).
Auf Blatt 2 werden die Spielpaarungen aufgeführt (1-3; 2-7 usw.).
Jede Zahl soll mit der entsprechende Farbe des Spielers gemäß der Vorgabe von Blatt 1 hinterlegt werden, Spieler 1 mit Meeresgrün usw.
Das Problem ist, dass je nach Gruppengröße die Spielreihenfolge eine andere sein kann. So kann im Bereich B2:B4 anstelle von 1(B2) -(B3) 3(B4) auch 4-5 stehen.
Wie kann ich es hinbekommen, dass die Farben sich automatisch anpassen?
Danke im voraus für eure Hilfe

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das wäre ab Xl12(2007) kein Problem für ...
17.11.2014 04:07:55
Luc:-?
…die BedingtFormatierung, Martin;
bis Xl11(2003) im manuellen Bereich schon, aber es geht mit Hilfe von VBA, indem die ursprünglich für alle Spieler gleich eingestellte Farbe der höchstwahrscheinlich einzigen dafür benötigten (Haupt-)Bedingung (Verweis auf Spieler und Positiv-Vgl des Spielers mit der Spielerliste) je nach Spieler geändert wird. Da du eine Spielerliste (Legende) mit deren Farben hast, kannst du 10 einfache Unterbedingungen für eine VBA-EreignisProzedur formulieren, bei deren Erfüllung die jeweils angegebene SpielerFarbe in das ZellFormat der BedingtFormatierung übernommen wird. Dafür könnte evtl das Worksheet_Change-Ereignis des jeweiligen Blattes (im Dokument­Klassen­Modul des betreffenden Blattes) dienen und eine FarbÜbernahme bei Eintrag könnte ungefähr so aussehen (Prozedur­Kopf steht fest und darf nicht geändert wdn, deshalb nicht kopieren, sondern per DropDown anlegen → Versions­Unterschiede!):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SpielerNr As Integer, SpielerZelle As Range
'… Target ist die geänderte Zelle, dazu erst die SpielerNr ermitteln!
Set SpielerZelle = Worksheets("Blatt1").Range("B2:Bn").Find(…)
'zu .Find in VBE-Hilfe nachlesen!
If Not SpielerZelle Is Nothing Then
Target.FormatConditions(1).Interior.Color = SpielerZelle.Interior.Color
End If
'…
Set SpielerZelle = Nothing
End Sub
Diese Methode nenne ich dynamized Conditional Formatting. Unter diesem o.ä. Namen findest du auch Bsp im Archiv.
Achtung! Bei Umstellung auf Xl12ff fktioniert das nicht mehr so. Es müsste dann einiges ergänzt oder neu aufgebaut wdn.
Morrn, Luc :-?

Anzeige
AW: Das wäre ab Xl12(2007) kein Problem für ...
17.11.2014 18:10:02
Martin
Vielen Dank für die Unterstützung. Ich werde beide Vorschläge testen.
Weitere Vorschläge sind immer willkommen :)
Danke im voraus

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige