Hallo,
habe folgendes Problem.
Möchte mit MsgBox eine Abfrage machen:
- wenn ich ein "X" setzte solle etwas ausgeführt werden. (Das funktioniert so weit)
- wenn nein dann soll es beendet werden (exit sub) (das geht auch)
- aber bei nein soll das "X" automatisch wieder entfernt werden. (das geht nicht )
Das "X" wird in den Spalten K3, K4, K5, usw. gesetzt !!!
Das heißt, wenn ich in K3 ein X setze, dann soll bei nein der sub beendet werden und das X gelöscht werden.
Aber immer da wo ich das X gesetzt habe. (K3,K4, usw.)
Bitte um Hilfe
Danke
Hier der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("K3:K300,N3:N300")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Target = UCase(Target)
ERRORHANDLER:
Application.EnableEvents = True
If MsgBox("Urlaub wirklich genehmigen?", vbYesNo + vbQuestion, "Urlaubsantrag") = vbNo Then
Exit Sub
End If
Worksheets("Urlaubsantrag").Select
If Not Intersect(Target, Range(Cells(3, 10), Cells(Rows.Count, 3))) Is Nothing Then
If LCase(Target.Value) = "x" Then
Sheets("Urlaubsantrag").Cells(4, 7) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 2)
Sheets("Urlaubsantrag").Cells(11, 4) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 6)
Sheets("Urlaubsantrag").Cells(11, 7) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 7)
End If
End If
If Not Intersect(Target, Range(Cells(3, 13), Cells(Rows.Count, 3))) Is Nothing Then
If LCase(Target.Value) = "x" Then
Sheets("Urlaubsantrag").Cells(4, 7) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 2)
Sheets("Urlaubsantrag").Cells(11, 4) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 6)
Sheets("Urlaubsantrag").Cells(11, 7) = Sheets("Urlaubsgenehmigung").Cells(Target.row, 7)
End If
End If
End Sub
|