Hilfe bei ListboxProgrammierung

23/01/2008 - 13:42 von Jan | Report spam
Hallo,

ich bin wohl nicht 100%ig hier richtig. Aber viel. könnt ihr mich dennoch in
die richtige Richtung bringen.

Ich programmiere einige Makros für Excel und habe eine Vergleichsabfrage.
Wenn mehrere Benutzer mit dem selben Nachnamen gefunden werden, sollen diese
in eine Listbox übetragen werden. Diese soll dann angezeigt werden und dem
Benutzer die Möglichkeit geben den richtigen auszuwàhlen.

Frage:
WIE kann ich ich die Listbox (Syntaaxtechnisch) aufrufen, auf die markierung
(sowie durch Bestàtigung eines OK-Buttons) des users warten und DANN mit den
Werten arbeiten?

Ich will wàhrend dieser Auswahl den eigendlichen Vorgang der Verarbeitung
nicht unterbrechen, sondern nur (für die Dauer der Auswahl) pausieren.
Also wird es wàhrend eines Funktionsdurchlauf möglicherweise mehrmals zu
dieser Abfrage kommen.

Ich hoffe ich habe es verstàndlich ausgedrückt.


MFG und vielen Dank im vorraus

Jan
 

Lesen sie die antworten

#1 stefan onken
23/01/2008 - 14:44 | Warnen spam
hallo Jan,
On 23 Jan., 13:42, Jan wrote:
Hallo,

ich bin wohl nicht 100%ig hier richtig. Aber viel. könnt ihr mich dennoch in
die richtige Richtung bringen.



doch, du bist hier 100% richtig ;)
es gibt (für Excel) keine eigene VBA-Newsgroup

Ich programmiere einige Makros für Excel und habe eine Vergleichsabfrage.
Wenn mehrere Benutzer mit dem selben Nachnamen gefunden werden, sollen diese
in eine Listbox übetragen werden. Diese soll dann angezeigt werden und dem
Benutzer die Möglichkeit geben den richtigen auszuwàhlen.

Frage:
WIE kann ich ich die Listbox (Syntaaxtechnisch) aufrufen, auf die markierung
(sowie durch Bestàtigung eines OK-Buttons) des users warten und DANN mit den
Werten arbeiten?



dazu kannst du die Listbox auf einem UserForm platzieren und dieses
Userform anzeigen.
Gehe im VBA-Editor auf Einfügen/Userform und platziere darauf eine
Listbox und den button.
Doppelklick auf den button, darein muss der Code UserForm1.Hide (den
Namen des UserForm ggfls anpassen).
Dein Abfrage-Code lautet dann etwa so:

Sub Abfrage()
Do
'suchen
If treffer then UserForm1.Listbox1.AddItem TrefferzelleInhalt
Loop
UserForm1.Show
Msgbox UserForm1.Listbox1.Value
'weiterer Code
End sub

der Code làuft erst nach ausblenden des UserForm weiter. Ein Nachteil:
das schliessen des UserForm über das X muss verhindert werden, da
sonst die Listbox-Markierung entleert wird (geht über
UserForm_QueryClose, darin Cancel =True setzen) oder du musst die
Variable beim Click-Ereignis der Listbox in eine Variable schreiben
(meld dich, falls du nicht weisst, wie).


Gruß
stefan

Ähnliche fragen