Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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
Userform listbox add und remove item prob
04.11.2014 19:09:47
Günter
Hallo,
Ja, ich schon wieder ;)
Ich habe noch Probleme mit der von Franz erstellten Userform.
Eine Suchfunktion mit Anzeige in einer Listbox.
Tips durch google ergeben für mich keine Lösung, da ich irgendwie
bei diesen "Listeinträgen" noch garnicht durchsteige.
Folgendes:
Eine Userform; Sucheingabefeld und Listbox
Nun wäre es optimal, das ein Eintrag hinzugefügt oder gelöscht werden
könnte, ohne das die Userform neu gestartet werden muss.
https://www.herber.de/bbs/user/93549.xls
Gruss,
Günter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform listbox add und remove item prob
04.11.2014 19:40:14
Daniel
Hi
geh doch mal den Ablauf mal genau durch:
1. .RemoveItem (.ListIndex + 1)
2. Rows(lbxFund.ListIndex + 1).Delete Shift:=xlDown
wenn du zuerst den selektierten Eintrag löschst, dann ist er weg und damit gibt es auch keinen selektierten Eintrag mehr der Listindex ist -1!
Damit kannst du ihn auch nicht mehr abfragen, wenn du die entsprechende Zeile löschen willst.
entweder musst du hier die Reihenfolge tauschen und zuerst die Zeile in der Tabelle löschen und den Eintrag in der Listbox ganz am Schluss, wenn du den Listindex nicht mehr benötigtst, oder du musst dir den ListIndex in einer Variablen merken, wenn die Listbox zuerst bereinigen willst.
noch ein weitere Denkfehler deinerseits (der aber keine Folgen hat):
nach dem Löschen einer Zeile ist der Verschiebeparameter: xlDown Unsinn.
Entweder xlUp oder einfach weglassen, weil beim Löschen einer ganzen Zeile gibts nur eine mögliche Verschieberichtung der nachfolgenden Zellen.
Gruß Daniel

Anzeige
AW: Userform listbox add und remove item prob
04.11.2014 23:02:23
Günter
Hallo Daniel,
Nachdem die Zeile gelöscht wird, wird beim Select des Listbox-Eintrags
immer noch die ursprüngliche Zeile aktiviert.
Irgendwie müsste nach dem Löschen der Zeile die Listbox neu "hochgefahren" werden.
ActiveCell.EntireRow.Delete   'Die Zeile der aktiven Zelle löschen
With lbxFund
.RemoveItem (.ListIndex + 1) 'fehlerhafte Löschung in der Listbox
End With
Wird wohl doch keinen anderen Weg geben, als die Userform neu zu starten.
Aber falls noch jemand einen Vorschlag machen möchte, lass ich mal noch offen.
Gruss
Günter

Anzeige
Zwar nicht optimal, aber funktioniert super ;)
07.11.2014 17:51:20
Günter
Hallo,
Ich habe eine Lösung gefunden.
besten Dank für die Unterstützung,
Günter
P.S. Bin trotzdem an weiteren Lösungsvorschlägen interessiert.

AW: Zwar nicht optimal, aber funktioniert super ;)
08.11.2014 10:30:27
Günter
Hallo,
Ich möchte doch nochmal meinen Lösungsweg aufzeigen, obwohl ich annehme,
das es bessere Wege gibt, oder jeder hier diesen schon kennt?
Das Problem ist doch oft, das das Repaint für die Userbox (Listbox) nicht funktioniert.
Jetzt habe eine weitere Userform erstellt, die einzig den Zweck hat, kurz die
Kontrolle zu übernehmen und für die Userform1 ein Repaint zu machen.

Private Sub UserForm_Activate()
UserForm1.Repaint
Unload Me
End Sub 

Mit Excel 2010, mit 2003 habe ich jetzt nicht getestet.
Die Userforms sind allerdings bei mir jetzt alle auf ShowModal=False gesetzt.
Dieses "Workaround" könnte ja mal einer der Profis kurz überdenken und evtl. eine
einfachere Lösung finden. (kann eine Userform unsichtbar aufgerufen werden?)
Ich lass mal noch hier offen, weil mich Eure Meinung interessiert.
Gruss
Günter
Anzeige

186 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige