Farben bzw. Bedingte Formatierung

Bild

Betrifft: Farben bzw. Bedingte Formatierung
von: Thorsten Buchwald
Geschrieben am: 12.11.2003 15:38:17

Guten Tag,
ich habe folgendes Problem:

Ich muss in einer Planungstabelle 7 Mitarbeitern
7 verschiedene Farben zuordnen, damit der Mitarbeiter
in einer beliebigen Zelle nur noch den Anfangsbuchstaben
seines Nachnames (z.B. "h" für heinz) eingibt und dann
dieser Buchstabe mit dem dazu farblich passenden Hintergrund
erscheint.

Über Bedingte Formatierung erziele ich den gewünschten Effekt,
allerdings nur für 3 Mitarbeiter.

Wer kann mir helfen?

Gruß
Thorsten

Bild


Betrifft: AW: Farben bzw. Bedingte Formatierung
von: PeterW
Geschrieben am: 12.11.2003 16:00:04

Hallo Thorsten,

mehr als 3 Bedingungen geht nur mit VBA. Falls das prinzipiell möglich ist müsste man den Bereich kennen, in dem die Buchstaben eingegeben werden.

Gruß
Peter


Bild


Betrifft: AW: Farben bzw. Bedingte Formatierung
von: Thorsten Buchwald
Geschrieben am: 12.11.2003 16:06:06

Hallo! Der Bereich ist ziemlich groß, da es sich hier um einen Datumskalender
bis Mitte 2004 handelt, wo in jeder Zeile bestimmt hunderte von Spalten berücksichtigt werden müssten. Die Zeilen können einfacher begrenzt werden (ca. 7 - 8 Zeilen immer).
Wie würde denn so ein VBA-Script aussehen?


Bild


Betrifft: AW: Farben bzw. Bedingte Formatierung
von: PeterW
Geschrieben am: 12.11.2003 17:05:58

Hallo Thorsten,

das könnte so aussehen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'bei Änderung in den Zeilen 4 bis 11
If Target.Row > 3 And Target.Row < 12 And Target.Cells.Count = 1 Then
  'in Abhängigkeit vom Eingabewert färben
  Select Case Target
    Case Is = "h"
      Target.Interior.ColorIndex = 3
    Case Is = "b"
      Target.Interior.ColorIndex = 4
    Case Is = "d"
      Target.Interior.ColorIndex = 5
    Case Is = "g"
      Target.Interior.ColorIndex = 6
    Case Is = "n"
      Target.Interior.ColorIndex = 7
    Case Is = "p"
      Target.Interior.ColorIndex = 8
    Case Is = "o"
      Target.Interior.ColorIndex = 19
  End Select
End If
End Sub

Die Buchstaben musst du natürlich anpassen. Der Code gehört in das Modul der Tabelle (Rechtsklick auf das Tabellenregister - Code anzeigen - in das freie Fenster kopieren).

Gruß
Peter


Bild


Betrifft: AW: Farben bzw. Bedingte Formatierung
von: Thorsten B.
Geschrieben am: 13.11.2003 08:00:09

Danke für den Tip, das könnte klappen.

Wie aber erweitere ich den Bereich der Zeilen (Du hast nur 4 bis 11 angegeben, ich benötige aber 5 - 43)?

Gibt es auch eine möglichkeit, dass wenn der Benutzer die Zellen wieder löscht
auch die Hintergrundfarbe automatisch wieder auf weiss zu setzen?

Bitte um weitere Infos.

Vielen Dank!

Gruß
Thorsten B.


Bild


Betrifft: AW: Farben bzw. Bedingte Formatierung
von: PeterW
Geschrieben am: 13.11.2003 14:22:10

Hallo Thorsten,

hier die Erweiterung auf die Zeilen 5 bis 43. Beim Löschen einzelner Eingaben wird die Zelle wieder entfärbt.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'bei Änderung in den Zeilen 5 bis 43
If Target.Row > 4 And Target.Row < 44 And Target.Cells.Count = 1 Then
  'in Abhängigkeit vom Eingabewert färben
  Select Case Target
    Case Is = "h"
      Target.Interior.ColorIndex = 3
    Case Is = "b"
      Target.Interior.ColorIndex = 4
    Case Is = "d"
      Target.Interior.ColorIndex = 5
    Case Is = "g"
      Target.Interior.ColorIndex = 6
    Case Is = "n"
      Target.Interior.ColorIndex = 7
    Case Is = "p"
      Target.Interior.ColorIndex = 8
    Case Is = "o"
      Target.Interior.ColorIndex = 19
    Case Is = ""
      Target.Interior.ColorIndex = xlNone
  End Select
End If
End Sub

Gruß
Peter


Bild

Beiträge aus den Excel-Beispielen zum Thema " Farben bzw. Bedingte Formatierung"