Hi,
ich versuche gerade einen sog. Planzplan in Excel abzubilden. Da ich von Skripten/Makros nichts verstehe, bräuchte ich Hilfe bei einer Funktion.
Falls man in eine Zelle einen bestimmten Buchstaben (jeweils nur ein Buchstabe pro Zelle; steht für eine Pflanzensorte) eingibt, soll sich die Zelle sofort in einer bestimmten Farbe einfärben. Genau so, wie man das mit bedingter Formatierung für drei verschiedene Buchstaben leicht hinbekommt.
Allerdings habe ich ca. 15 verschiedene Buchstaben, die die Zellen einfärben sollen.
Kann man das mit Makros, Funktionen etc. hinbekommen? Es soll jedoch nicht so sein, dass man erst immer das Makro starten muss, um die Zellfärbung herbeizuführen. Es sollte jeweils gleich beim Verlassen/Bestätigen der Zelle passieren.
Als Zusatzanforderung (für mehr Komfort) wäre es gut, wenn man z.B. auf einen separten Blatt eine Liste mit den Feldern Pflanzenname, Buchstabe, Farbe machen könnte, die dann die Einfärbungen von oben vorgibt.
Ich wäre für jede Hilfe sehr dankbar, da diese Aufgabe meine Kenntnisse bei weitem übersteigt. Vielen Dank schon mal
Grüße
Josef
Falls man in eine Zelle einen bestimmten Buchstaben (jeweils
nur ein Buchstabe pro Zelle; steht für eine Pflanzensorte)
eingibt, soll sich die Zelle sofort in einer bestimmten Farbe
einfärben. Genau so, wie man das mit bedingter Formatierung
für drei verschiedene Buchstaben leicht hinbekommt.
Allerdings habe ich ca. 15 verschiedene Buchstaben, die die
Zellen einfärben sollen.
Als Zusatzanforderung (für mehr Komfort) wäre es gut, wenn man
z.B. auf einen separten Blatt eine Liste mit den Feldern
Pflanzenname, Buchstabe, Farbe machen könnte, die dann die
Einfärbungen von oben vorgibt.
Hi Josef,
Tabelle:
[Mappe1]!Tabelle2
│ A │ B │
──┼─────┼────┤
1 │ A │ 3 │
2 │ C │ 34 │
3 │ F │ 35 │
4 │ G │ 2 │
──┴─────┴────┘
Alt+F11, Doppelklick auf "Tabelle1", Code einfügen, Editor schliessen.
Option Explicit
Private Sub Worksheet\_Change(ByVal Target As Excel.Range)
If Target.Column 4 Then Exit Sub ' A=1,B=2 usw, also ist 4 Spalte D
If Target.Value = "" Then Exit Sub
Target.Interior.ColorIndex = xlNone
Dim Zei As Long
With Worksheets("Tabelle2")
For Zei = 1 To .Range("A65536").End(xlUp).Row
If Target.Value = .Cells(Zei, 1) Then
Target.Interior.ColorIndex = .Cells(Zei, 2)
Exit For
End If
Next Zei
End With
End Sub
Gruß
Reinhard
Hallo Reinhard,
erst mal vielen Dank. Aber ich stelle mich zu doof.
Wenn ich das richtig verstehe, sollte ich doch nun in Tabelle2 beliebige Zellen mit den Buchstaben A C F G füllen können und die Zellen sollten sich dann automatisch färben, oder?
Könntest du mir eine Tabelle in der das Makro richtig enthalten ist, per Mail zusenden?
Sorry, aber ich habe mit Makros einfach wirklich keine Ahnung.
Dann noch eine Frage. Die Zahlen 3 34 35 2 sind „Farbnummern“, oder? Dann wäre es doch auch möglich, dass ich ein zweites Skript für die Tabelle1 mache, das die Zellen mit den Zahlen jeweils entsprechend einfärbt?
Gibt es eine Zuordnungstabelle Zahlen Farbe?
Grüße und wirklich ganz herzlichen Dank
Josef
Hi Josef,
Wenn ich das richtig verstehe, sollte ich doch nun in Tabelle2
beliebige Zellen mit den Buchstaben A C F G füllen können und
die Zellen sollten sich dann automatisch färben, oder?
Nein, die Zellen in Spalte D von Tabelle1 wird überwacht. In Tabelle2 stehen die Zuordnungen Buchstabe zu Farbwert.
Könntest du mir eine Tabelle in der das Makro richtig
enthalten ist, per Mail zusenden?
Ist nicht nötig *denk*
Dann noch eine Frage. Die Zahlen 3 34 35 2 sind „Farbnummern“,
oder? Dann wäre es doch auch möglich, dass ich ein zweites
Skript für die Tabelle1 mache, das die Zellen mit den Zahlen
jeweils entsprechend einfärbt?
Erstelle in Tabelle2 die Zuordnungstabelle, indem du manuell in Spalte C die Hintergrundfarben für die Buchstaben, die in A stehen anzeigen läßt. Dann markiere B1:Bx und geh zu Einfügen–Namen–festlegen, dann erstellst du einen namen Fareb und weist ihm die Formel zu. Dann in Spalte B die Formel =Farbe eintragen.
GGfs einmal auf F9 klicken.
Tabelle:
[Mappe1]!Tabelle2
│ A │ B │
──┼─────┼────┤
1 │ A │ 5 │
2 │ C │ 39 │
3 │ F │ 4 │
4 │ G │ 5 │
──┴─────┴────┘
Benutzte Formeln:
B1: =Farbe
B2: =Farbe
B3: =Farbe
B4: =Farbe
Benutzte Namen:
Farbe: =ZELLE.ZUORDNEN(63;Tabelle2!C1)+0\*JETZT()
Gruß
Reinhard
1 „Gefällt mir“