[VBA] Farbendefinition in anderer Zelle
#1
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. -> 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
Top
#2
Hallo

wie wäre es mit einer Beispieldatei in der deine Versuche schon vorhanden sind
und wo das gewünschte Ergebnis schon mal dargestellt ist?

MfG Tom
Top
#3
Hi,

sowas in der Art? (brauchst du nur mehr anpassen)
http://www.ms-office-forum.net/forum/sho...p?t=217331

und eine Bsp.Mappe wäre wirklich hilfreich!
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#4

.xlsx   plan_light.xlsx (Größe: 13,28 KB / Downloads: 1)
Hallo zusammen

Sorry für die späte Antwort.
Anbei habe ich nun eine vereinfachte Datei hochgeladen.

Ja chris-ka, genau sowas in der Art ist der Wunsch.
Wollte es noch anpassen, dass es bei jeder Änderung läuft und auf 2 Tabellen. Undecided



Ziel ist es, dass die Felder in Tabelle "2016" so eingefärbt werden, wie in Tabelle "Helper" definiert.
Natürlich nur, wenn der Wert übereinstimmt.

Als Zusatz wäre noch folgender Check schön.
Unter C4 kann die Gruppe angegeben werden und es sollen in Tabelle "Helper" nur diese eingefärbt werden, die dazugehören.
Top
#5
:16:
.xlsm   plan_light.xlsm (Größe: 20,51 KB / Downloads: 1)
Top
#6
Hallöchen,

erst mal nur ein Ansatz. Die Änderung der Farbe löst in Excel kein Ereignis aus. Wenn Du also was änderst, passiert erst mal nix.

Man könnte das aber so lösen, dass beim Blattwechsel die Farben übertragen werden. Allerdings müsste man bei jedem Wechsel auf das Blatt 2 alle Zellen auf die Farbe prüfen. Einfacher wäre es, wenn auf dem Blatt 2 alle Formatierungen dem Blatt 1 entsprechen, die Formate des kompletten Blattes zu übertragen. Dritte Variante wäre, ähnlich wie die zweite, Die Formatübertragung auf einen Bereich zu begrenzen, z.B. B10 bis B20 oder wo auch immer die Farben und Formate relevant sind.

Hier mal ein Codebeispiel:
Code:
Private Sub Worksheet_Activate()
    Sheets("Tabelle1").Range("A1:A10").Copy
    Range("A1:A10").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste