der gesamte Code ist ein bissl zu umfangreich, den will ich keinem zumuten, darum versuch ich's erst mal so:
Es geht um eine Listbox mit Namen in einer UF, je nach Auswahl eines Names in der Listbox werden in Textboxen die zugehörigen Daten angezeigt. Die nachfolgend beschriebenen Arbeiten erfolgen alle bei geöffneter UF:
1. Beim Aufruf der UF wird die Listbox in
"Private Sub UserForm_Initialize()" gefüllt mit:
" ListBox1.List = Range("Suchliste").Value " : Klappt.
Range("Suchliste") ist der Namensbereich der Tabelle.
2. Über einen Button kann ein ausgewählter Datensatz gelöscht werden, dazu wird am Ende wieder "UserForm_Initialize" aufgerufen, die Listbox wird neu gefüllt und ist sofort wieder aktuell. Klappt.
3. Es kann auch ein neuer Kunde angelegt werden. Per Button werden die Daten in die Tabelle übertragen. Nach dem Übertragen der Daten wird wieder "UserForm_Initialize" aufgerufen, die Listbox wird neu gefüllt und ist sofort wieder aktuell. Klappt auch!!
4. Aber jetzt: wird im letzten Fall (also beim Übertragen eines neuen Datensatzes) direkt in der Listbox ein anderer Kunde angeklickt, soll es genau so laufen. Die Daten werden auch ordentlich in die Tabelle übertragen. Und der Einzelschrittmodus zeigt, das auch "UserForm_Initialize" aufgerufen und abgearbeitet wird. Auch die Zeile " ListBox1.List = Range("Suchliste").Value " . Tatsächlich wird sie aber nicht neu gefüllt, der neue Kunde ist nicht zu finden, die Liste ist nicht aktualisiert.
Habe mal ein "Listbox1.Clear" davor gesetzt. Bei den Punkten 1-3 alles bestens, Listbox ist aktualisiert. ABER bei Punkt 4 findet sich damit hinterher eine LEERE LISTBOX, d.h. sie wird zwar geleert, nicht aber wieder gefüllt.
Hat da jemand eine Idee? Ich hab mich da jetzt schon ewig beschäftigt, kann aber nichts finden.
In der Hoffnung auf Hilfe schon mal danke im Voraus und Grüße
Franz