Excel 2003 - bedingte Formatierung mit VBA

AwesomSTUFF

Commodore
Registriert
Juli 2011
Beiträge
5.016
Moin,

also ich bearbeite grad ne Datei der Personalabteilung. Ist ein Personalplan.
Dort sollen verschiedene Eingaben in einer Zelle (zB U für Urlaub, K für Krank usw) bewirken, dass die Farbe der Zelle geändert wird. Soweit , so klar. Geht ja auch mit bedingter Formatierung. Allerdings hat ja Excel 2003 nur 3 Bedingungen. Ich hab nun im Netz etwas gefunden um das per VBA zu lösen. Das scheint auch zu gehen aber ich bekomme ab und ab ein "Laufzeitfehler 13 - Typen Unverträglich" gemeldet immer beim ersten "Case" - egal was dahinter steht.

Das passiert immer, zB einen Wert mit dem "Anfasser" kopiere. Ich weiss inzwischen, dass es damit zu tun hat, dass die Funktion sich auf einen Zelle und nicht auf eine markierte Range bezieht.

Hier mal der VBA Code:

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range, strText As String
Select Case Target.Value
Case "UP"
Target.Interior.ColorIndex = 4
Case "U"
Target.Interior.ColorIndex = 8
Case "K"
Target.Interior.ColorIndex = 3
Case "KT"
Target.Interior.ColorIndex = 18
Case "L"
Target.Font.ColorIndex = 3
Case "F"
Target.Interior.ColorIndex = 19
Case "S"
Target.Interior.ColorIndex = 35
Case "N"
Target.Interior.ColorIndex = 41
Case "T"
Target.Interior.ColorIndex = 24
Case "Te"
Target.Interior.ColorIndex = 40
Case "Fr"
Target.Interior.ColorIndex = 22
Case ""
Target.Interior.ColorIndex = 0
End Select
End Sub

Bitte helft mir.

MfG Dave
 
Zuletzt bearbeitet:
Der Code kommt mir bekannt vor.. da fehlen aber ein paar Zeilen:

Excel öffnen > ALT+F11 (Ansicht : Code anzeigen) > Folgenden Code eingeben:

Code:
  [B][FONT=Arial]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)[/FONT]
  [FONT=Arial]Call Zellenfarbe[/FONT]
  [FONT=Arial]End Sub[/FONT][/B]
    [FONT=Arial]Option Explicit[/FONT]
    [FONT=Arial]Private Sub Worksheet_Change(ByVal Target As Range)[/FONT]
  [FONT=Arial]Dim rngZelle As Range, strText As String[/FONT]
  [FONT=Arial]Select Case Target.Value[/FONT]
  [FONT=Arial]Case "A"[/FONT]
    [FONT=Arial]Target.Interior.ColorIndex = 3[/FONT]
  
usw. usw.

 [FONT=Arial]Case "Z"[/FONT]
  [FONT=Arial]Target.Interior.ColorIndex = 30[/FONT]
  [FONT=Arial]Case ""[/FONT]
  [FONT=Arial]Target.Interior.ColorIndex = 0[/FONT]
  [FONT=Arial]End Select[/FONT]
  [FONT=Arial]End Sub[/FONT]
 
Nee, nuu jeht gar nichts mehr.

Fehler beim Kompilieren: Argument ist nicht optional
 
Zurück
Oben