...ich habe eine Listbox in einer Userform, diese enthält ca. 8.000 Artikel. Der User kann dann per Doppelklick auf einen Eintrag - diesen Datensatz in eine Auswahlbox (Listbox2) übernehmen, zur weiteren Verwendung.
Dabei wird er zeitgleich in der ersten Listbox (Artikelliste) per removeitem entfernt und steht dem User nicht mehr zur Verfügung.
Alles klappt super - aber:
Nach dem Doppelklick und dem "verschwinden" aus der Liste1, wird diese wieder mit Datensatz 1 beginnend angezeigt. Was lästig ist, wenn man schon weiter unten in der Liste war-denn nun muss man wieder erst scrollen um weiter in der Liste zu machen.
Ich dachte, wenn ich mir die aktuelle Position des ausgewählten Datensatzes in eine Variable merke und am Ende der Prozedur diese mit -1 (den Datensatz davor) wieder an die Listbox übergebe...sollte es funktionieren. Aber leider stimmt es nicht, es wird immer ein Artikel markiert, der um einige Zeilen davor liegt...
Mein Code:
Dim Klickzeile as long
Klickzeile = objLBBMKontakte.ListIndex ' Merken der Position (Zeile in der Box)
' Dann der Code der übergabe an die Listbox 2
' entfernen aus Listbox 1
' Listbox1 erneut anzeigen
' Dann Position wieder aufnehmen...
objLBBMKontakte.ListIndex = Klickzeile - 1
Warum, worin liegt mein Denkfehler ?
Gruß und Danke
Kay