ich habe für einen Profi ein sicher leicht zu lösendes Problem, welches ich allerdings nicht hin kriege.
Und zwar prüft die Sub unten ob sich ein Eintrag ändert (also ein Datum) und ruft dann spezielle Subs auf.
Dabei wird zusätzlich geschaut, ob ein "x" in der Spalte AJ, AK oder AL steht.
Das Problem ist, dass ich nicht - wie die Sub jetzt - immer die Zeile "Zeile1" (also 4) sondern die Zeile prüfen will, in der sich das Datum auch ändert.
Wie kann ich das schreiben?
Danke schon mal.
Nils
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle
Const SpalteDatum = 5 'Spalte E in der Startdatum überwacht werden soll
Const Zeile1 = 4 '1. zeile ab der Eingabedatum überwacht werden soll
'Prüfen ob Eingabezelle in Spalte "SpalteDatum" unterhalb von "Zeile1" geändert wurde
'Es können innerhalb der Spalte auch mehrere Zellen geändert werden.
If Not Intersect(Target, Range(Cells(Zeile1, SpalteDatum), Cells(Rows.Count, _
SpalteDatum))) Is Nothing Then
Application.EnableEvents = False
For Each Zelle In Target
If Zelle.Column = SpalteDatum And Range("AJ" & Zeile1).Value = "x" Then
Call Autoformat(wks:=Worksheets("Kalender"), Startvar:=Zelle.Value, _
Zeile:=Zelle.Row, zeileDatum:=3, spalteDatum1:=5)
ElseIf Zelle.Column = SpalteDatum And Range("AK" & Zeile1).Value = "x" Then
Call Auto_2(wks2:=Worksheets("Kalender"), Startvar2:=Zelle.Value, _
Zeile2:=Zelle.Row, zeileDatum2:=3, spalteDatum2:=5)
ElseIf Zelle.Column = SpalteDatum And Range("AL" & Zeile1).Value = "x" Then
Call Auto_3(wks3:=Worksheets("Kalender"), Startvar3:=Zelle.Value, _
Zeile3:=Zelle.Row, zeileDatum3:=3, spalteDatum3:=5)
End If
Next
Application.EnableEvents = True
End If
End Sub