Hallo! Das Problem wird sein, dass die Daten, die aus der Userform eingetragen werden, vom Programm als Text und nicht als Datum interpretiert und eingetragen werden (ist meist so aus Daten aus Userform oder Textboxen). Könntest du testen, wenn du mal in der Zeile nach dem for i = 2 to xZeil die hier einbaust
MsgBox isDate(Cells(i, 5))
Die gibt an ob es ein Datum ist (true bzw. wahr steht für Datum).
In deinem Code solltest du es beheben können, wenn du jedesmal an Stelle vom Cells(i, 5) schreibst cdate(Cells(i, 5)).
Damit interpretiert er das als Datum und die Vergleiche sollten passen.
Ist aber eine unschöne Lösung, da bei anderen Programmaufrufen der Fehler ja identisch auftritt. Das beste wäre in deinem Code, der aus der Userform die Daten einschreibt, wenn du beim Eintragen auch schon das Format vorgibst. Also so in etwas (an deine Bedürfnisse anpassen, müsste im Code der Userfomr 2 irgendwo so ähnlich stehen) - einfach das CDAte vor die Zuweisung.
Cells(i, 5) = CDate(Userform1.Listbox1.text)
VG
|