Uwagi:
1. Nie ustawiaj na sztywno w projekcie formatki, to co potem ustawiasz programowo - ilość kolumn "ListBox2"
2. Czytaj składnię poleceń/obiektów i ich ograniczenia - maksymalna liczba kolumn w "ListBox" to 10, a w pętli próbujesz ustawić wartości dla 13 kolumn:
3. W części "Data" używasz przedziwnych sprawdzeń
Po co porównujesz daty tekstowo, konwertując datę z komórki przy pomocy "Left()", jak masz "CStr()" ?
Poza tym już lepiej jeden raz skonwertować wartość tekstową daty z "TextBox", niż robić to z każdym obrotem pętli dla komórek.
Do tego za każdym razem testujesz, czy "TextBox" nie jest puste, to wystarczy zrobić tylko raz, na początku procedury, to się nie zmienia w trakcie wykonywania procedury.
Dodatkowo wyliczasz to jakieś "A", w każdym obrocie pętli, mimo że to ma z góry określoną i stałą wartość. To się robi poza pętlą.
4. Musisz częściej używać "F8" do sprawdzania wykonywania kodu, unikniesz wielu niepotrzebnie wykonywanych czynności, jak chociażby czyszczenie listy:
za każdym razem, czy jest taka potrzeba, czy jej nie ma.
Poza tym, osobiście wybrałbym inną procedurę zdarzeniową do tego (wydaje się być mniej komplikującą inne procesy), np. według tego schematu jak poniżej:
Book4.zip Download (36.55 kB)
Po wpisaniu daty w "TextBox" klikasz pole "Data" w "ListBox1", zwrotnie do pola "TextBox" wracasz klawiszem tabulacji, co powoduje zaznaczenie całego, starego wpisu w "TextBox" i możesz od razu wpisywać nową datę bez bawienia się w zaznaczanie starej daty, względnie jej usuwanie, przed podaniem nowej.