Zulassen: Liste
08.09.2006 21:00:47
Pia
Ich hatte hier aus dem Forum nachfolgenden Code bekommen. Ziel war es, automatisch eine Gültigkeit einzurichten mit einer Liste welche alle Jahre ab 2006 bis laufendes + 1 enthält.
Wenn ich das jetzt test, verstehe ich es nicht. Der Code wird beim Öffnen der Arbeitsmappe ausgeführt. Ergebnis: 2006;2007
Wenn ich den Code aber nach dem Öffnen erneut ausführe, klappt es! Was ist falsch?
Danke Euch allen!
Sub jahr_bestimmen()
Dim strValidate As String
For i = 2006 To Year(Date) + 1
strValidate = strValidate & CStr(i) & ";"
Next
Application.EnableEvents = False
Sheets("Jahresplaner").Unprotect
With Sheets("Jahresplaner").Range("G2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Left(strValidate, Len(strValidate) - 1)
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "falscher Wert"
.InputMessage = ""
.ErrorMessage = "Es können nur die vorgegebenen Jahre ausgewählt werden!"
.ShowInput = True
.ShowError = True
End With
Sheets("Jahresplaner").Range("G2") = Year(Date)
Sheets("Jahresplaner").Protect
Application.EnableEvents = True
End Sub