war mit ähnlichem Problem heute schon mal da, gibt aber nun Neuerungen, darum erlaube ich mir einen neuen Thread.
Ich habe folgenden Code, der auch bestens klappt:
Sub wievielnoch()
For t = 4 To 59 Step 5
For m = 3 To 33
If Cells(t, m) <> "" And Cells(t - 2, m) > Date Then
If (Cells(t, m - 1) = "" Or Cells(t, m - 1) = "Termin") Then
If Month(Cells(t - 2, m)) > 1 And Cells(t - 5, 30) = "" Then
ActiveSheet.Unprotect
Range("AC1") = Cells(t - 2, m)
MsgBox "Nächster Zeitraum ab dem " & Format([AC1], "d. mmmm") & _
" " & Chr(13) & Chr(13) & "das ist in " & [AJ57] & _
" Tagen.", 64
ActiveSheet.Protect
Exit Sub
End If
End If
End If
Next m
Next t
End Sub
Wenn ich nun die If-Verschachtelungen auflöse in eine einzige If-Abfrage, gibt's den Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler. Dabei wird an den Abfragekriterien NICHTS VERÄNDERT !!!
Sub wievielnoch()
For t = 4 To 59 Step 5
For m = 3 To 33
If Cells(t, m) <> "" And Cells(t - 2, m) > Date _
And (Cells(t, m - 1) = "" Or Cells(t, m - 1) = "Termin") _
And Month(Cells(t - 2, m)) > 1 And Cells(t - 5, 30) = "" Then
ActiveSheet.Unprotect
Range("AC1") = Cells(t - 2, m)
MsgBox "Nächster Zeitraum ab dem " & Format([AC1], "d. mmmm") & _
" " & Chr(13) & Chr(13) & "das ist in " & [AJ57] & _
" Tagen.", 64
ActiveSheet.Protect
Exit Sub
End If
Next m
Next t
End Sub
Kann mir das bitte jemand erklären? Bzw. eine Lösung dafür geben?
Vielen Dank im Voraus
Gruß
Franz