AW: Ich mach Feierabend...
Boris
Hi Rame,
ich hab´s mal etwas auskommentiert. Die in einem allgemeinen Modul als Public deklarierte Variable 'oldSheet' muss natürlich sein!
Private Sub Worksheet_Change(ByVal Target As Range)
'Falls mehr als 1 Zelle ausgewählt
If Target.Count > 1 Then
'dann Hinweis: Geht nicht...
MsgBox "Bitte nur 1 Zelle bearbeiten!", , "Hinweis"
'Ereignisse ausschalten
Application.EnableEvents = False
'Target leeren
Target = ""
'Ereignisse wieder anschalten
Application.EnableEvents = True
'Sub verlassen
Exit Sub
End If
'Fehlerbehanldung - bei Fehler zur Sprungmarke Hoppla
On Error GoTo Hoppla
'Wenn Target leer ist
If Target = "" Then
'...dann Zelle im Mitarbeiterblatt auch leeren
'entspricht: Termin löschen
Worksheets(oldSheet).Range(Target.Address) = ""
'und sub verlassen
Exit Sub
End If
'Falls Target nicht innerhalb B3:K38 liegt - Sub verlassen
If Intersect(Target, [b3:k38]) Is Nothing Then Exit Sub
'Mitarbeiternamen in Mitarbeiterblatt übertragen
With Target
Worksheets(.Text).Range(.Address) = ActiveSheet.Name
End With
'Sub verlassen, damit man nicht automatisch in die folgende Fehlerbehanldung läuft
Exit Sub
'Fehlerbehandlung
Hoppla:
MsgBox "Diesen Mitarbeiter gibt es nicht", , "Hinweis..."
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Hier immer die Public-Variable entsprechend füllen
oldSheet = ActiveCell.Text
End Sub
Grüße Boris