Microsoft Office Tutorials and References
In Depth Information
19.11.4 Schaltflächen programmieren
Listenauswahl auswerten
’ Produktliste einlesen
Do While ActiveCell.Value <> "“
’ Inhalt der aktiven Zelle einfügen
Me.lst_InvListe.AddItem ActiveCell.Value
’ Nächste Zeile ansteuern
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Die Textfelder werden erst dann mit Informationen
gefüllt, wenn ein Eintrag in der Liste markiert fist, und
dafür fist wieder ein Ereignis zuständig, das aber nicht
mehr »von außen«, sondern von einem Element der
UserForm ausgelöst wird.
1. Aktivieren Sie per Doppelklick auf das Listenelement
lst_InvListe das Codeblatt der UserForm.
Listing 19.31 Initialize-Makro der UserForm
2. Die Click -Prozedur für dieses Element wird sofort
erstellt, Sie können die Anweisungen zwischen Sub
und End Sub einfügen:
Verwenden Sie wie hier gezeigt das globale Objekt Me
anstelle des UserForm-Namens. Die Methode AddItem
fügt hier den Inhalt der aktiven Zelle in die Liste ein,
eine Do...While -Schleife steuert den Zellzeiger über alle
Listeneinträge.
Private Sub lst_InvListe_Click()
Dim auswahl As Integer
auswahl = Me.lst_InvListe.ListIndex
With Me
.txt_Kategorie = [a2].Offset(auswahl, 1)
.txt_Abteilung = [a2].Offset(auswahl, 2)
.txt_Nummer = [a2].Offset(auswahl, 3)
End With
End Sub
TIPP Wenn die Zeilenzahl der Liste feststeht, kön-
nen Sie auch die Eigenschaft RowSource des
Listenelements nutzen. Tragen Sie den Bezug auf die
Liste ein ( Inventar!A2:A16 ).
TIPP
Das Ergebnis der Prozedur sehen Sie, wenn Sie die
UserForm starten. Mit dem Initialize -Makro werden
alle Zellinhalte aus der Spalte A in das Listenfeld über-
nommen.
Listing 19.32 Das Click-Makro des Listenelements
Die Eigenschaft . ListIndex enthält die Nummer des in
der Liste markierten Eintrags. In einer With -Klammer
werden den übrigen Elementen der UserForm ( Me ) die
Daten zugewiesen. Die Textfelder werden mit den
Zellinhalten aus der Tabelle gefüllt, die ein Offset ab der
ersten Zelladresse ( zelle.Offset(zeile,spalte) ) ausliest.
TIPP Listen beginnen immer bei 0, wenn Option
Base 1 nicht am Modulanfang gesetzt fist.
Deshalb liefert der erste Eintrag in der Liste den
Listenindex 0.
TIPP
19.11.4 Schaltflächen programmieren
Wie Sie bisher beim Austesten der UserForm festgestellt
haben, funktioniert die Schaltfläche OK noch nicht. Im
Gegensatz zur MsgBox , deren Schaltflächen über
Konstanten und Rückgabewerte gesteuert werden, müssen
diese anklickbaren Formularelemente mit Makros
versehen werden.
Abbildung 19.61 Die Liste fist gefüllt.
 
Search JabSto ::




Custom Search