3.9k Aufrufe
Gefragt in Tabellenkalkulation von
Hi.

Ich habe in excel eine kleine "landkarte" mit den bereichen 1 bis 87 erstellt. Dies habe ich über Zeichnen und freihandformen realisiert. danach habe ich über die einzelenen bereiche textfelder mit beschreibungen erstellt. jetzt mein problem: ich muss von den bereichen ständig die farbe wechseln. wenn ich das per hand machen möchte muss ich immer erst alle textfelder weg ziehen da ich sonst nich an die form des bereiches komme um dorcht per hand die hintergrundfarbe zu wechseln. meine idee war es eine liste mit 2 spalten zu erstellen. in der 1. spalte die bereiche 1 - 87. spalte 2 die dazugehörigen hintergrundfarben. heisst ich färbe den hintergrund einer zelle von spalte 2 ein und der dazugehörige bereich übernimmt diese farbe automatisch als hintergrundfarbe... BSP: in der liste färbe ich den bereich 7 rot ein. jetzt wird auch der bereich 7 in der landkarte auch rot. wenn ich die zelle jetzt von rot auf grün färbe wird der bereich grün. hoffe ihr versteht wass ich meine... wie kann ich das realisieren?

14 Antworten

0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Ohne auch nur im Mindesten verstanden zu haben, was Du meinst:
Wenn es darum geht, Hintergrundfarben von Objekten an "übergeordnete" Hintergründe anzupassen, würde ich in der Hilfe mal nach "Transparenz" schauen.
0 Punkte
Beantwortet von
hi... ok ich versuchs mal verständlicher und auf ein beispiel bezogen:

1. ich erzeuge ein normales viereck (BG: weis mit rand)
2. ich färbe den hintergrund der zelle 1A Blau
3. nachdem ich die zelle 1A blau gefährbt habe soll jetzt auch automatisch das viereck blau werden
4. jedetzt färbe ich 1A gelb -> das viereck wird auch gelb.
5. usw

so möchte ich das haben... nur halt wesendlich komplexer. hoffe ich habs jetzt verständlicher geschrieben^^
0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Befindet sich das Objekt auf in der Zelle A1 ?
Dann wäre 100% Transparenz genau die richtige Einstellung.
0 Punkte
Beantwortet von
Hallo,
vielleicht wäre das eine Lösung :
Einfügen Name Definieren : Zellfarbe
Bezieht sich auf : =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";))
B1: = Zellfarbe einfügen.

A1 = Farbe auwählen
B1= Farbwert

Code in Tabelle1 einfügen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets(1).Shapes("Rectangle 1").Fill.ForeColor.SchemeColor = Sheets(1).Range("B1").Value + 7
End Sub

Muster

Gruß
fedjo
0 Punkte
Beantwortet von
danke für die antworten :)

@fedjo:

genau so meinte ich das:) nur geht das auch irgendwie ohne den umweg über den fabwert? also das die farbe direkt übernommen wird? und wie muss ich den code anpassen damit ich das 87 mal machen kann? hab ja 87 verschiedene "vierecke" ?
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

zu AW 5, nein

Gruß

Helmut
0 Punkte
Beantwortet von
Hallo,
ohne den Umweg über den Fabwert ist nicht möglich.
Excel bietet eine Auswahl von 56 Farben aus dem gesamten RGB-Farbraum an. Diese 56 Farben lassen sich individuell einstellen, dazu muss man aber die Farben einzeln auswählen und verändern.

Ccode anpassen :
Shapes("Rectangle 1") " Vom Rechteck die Zahl eintragen"
Range("B1").Value + 7 "Zelle anpassen"

fedjo
0 Punkte
Beantwortet von
Hi fedjo,

gaaaaanz lieben dank... funzt super... hab sogar nen aktualisieren button eingebaut... zwar ziemlich einfallslos aba reicht ja :D^^

hier der link Neues Muster
0 Punkte
Beantwortet von
Hallo excelnoobi ,
du kannst ja auch noch die Spalte mit den Farbwerten ausblenden, wenn es dich stört.

Gruß
fedjo
0 Punkte
Beantwortet von
hi... noch nen kleines problem... bei rechtecken funz das super.. wenn ich jetzt aba ne freihandform nehme klapts nich mehr... hab schon überall nach dem begriff dafür gesucht... hier ma mein code:

Sheets(1).Shapes("Rectangle 1").Fill.ForeColor.SchemeColor = Sheets(1).Range("B1").Value + 7
Sheets(1).Shapes("Freeform 1").Fill.ForeColor.SchemeColor = Sheets(1).Range("B2").Value + 7


freeform und scribble geht nich damit ich den hintergrund von einer selbst gezeichneten form verändern kann... :( wie muss es denn richtig heissen?
...