Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zulassen: Liste

Zulassen: Liste
08.09.2006 21:00:47
Pia
Hey und Guten Abend!
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Gültigkeit reanimieren
08.09.2006 22:29:23
{Boris}
Hi Pia,
die Gültigkeit und auch die bedingte Formatierung sind da ganz eigen. Man muss sie nochmals "reanimieren". Das kann zum Beispiel mit der (ungeliebten) SendKeys-Anweisung erfolgen (geht auch mit FindControl(...).Execute - aber ich find die passende ID grad nicht). Ich geh davon aus, dass das Blatt "Jahresplaner" gerade aktiv ist.
Option Explicit

Sub jahr_bestimmen()
Dim strValidate As String, i As Long
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)
Range("G2").Select
'Hier wird die Zelle reanimiert
SendKeys ("%ngg")
SendKeys "{ENTER}"
Sheets("Jahresplaner").Protect
Application.EnableEvents = True
End Sub

Grüße Boris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige