Hallo Volker,
vielen Dank für Deinen Hinweis, ich habe jetzt ein Script im Internet gefunden und in meine Excel Datei eingefügt. Ich musste es nur noch auf meine Bedürfnisse anpassen. Jetzt klappt alles wunderbar.
Wenn meine Bekannte jetzt in Zelle C9 klickt, öffnet sich eine Liste, aus der sie einen Eintrag auswählen kann. Sofort erscheint in der Zelle links daneben die von mir im Script gewünschte Hintergrundfarbe.
Für alle, die das gleiche Problem haben, hier meine Vorgehensweise:
Ich habe in Excel die Datei geöffnet und den Visual Basic Editor gestartet. Dann habe ich im linken Fenster auf 'Diese Arbeitsmappe' geklickt und rechts folgenden Code eingefügt:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call Zellenfarbe
End Sub
Danach ein neues Modul eingefügt und folgenden Code eingetragen:
Option Explicit
Sub Zellenfarbe()
Dim rngZelle As Range, strText As String
ActiveSheet.Range("C9:C39").Interior.ColorIndex = 0
For Each rngZelle In ActiveSheet.Range("C9:C39")
Select Case rngZelle.Value
Case "Urlaub"
Range("B" & rngZelle.Row).Interior.ColorIndex = 3
Case "Frei"
Range("B" & rngZelle.Row).Interior.ColorIndex = 4
Case "Feiertag"
Range("B" & rngZelle.Row).Interior.ColorIndex = 5
Case "Krank"
Range("B" & rngZelle.Row).Interior.ColorIndex = 6
Case "Frühdienst"
Range("B" & rngZelle.Row).Interior.ColorIndex = 7
Case "Spätdienst"
Range("B" & rngZelle.Row).Interior.ColorIndex = 8
Case "Wochenende"
Range("B" & rngZelle.Row).Interior.ColorIndex = 9
Case "Ü-Abbau"
Range("B" & rngZelle.Row).Interior.ColorIndex = 10
Case ""
Range("B" & rngZelle.Row).Interior.ColorIndex = 0
End Select
Next
End Sub
Gruß Edgar
P.S. Die Excel Datei darf nicht geschützt sein.