Einträge aus Listbox auslesen

In diesem Beispiel zeigen wir Ihnen, wie sich Einträge aus einer ActiveX-Listbox, welche sich auf einem Tabellenblatt befindet, auslesen lassen. Dabei soll es auch möglich sein, dass mehrere selektierte Einträge (Multiselect) entsprechend ausgelesen werden können. 

Damit in einer ActiveX Listbox mehrere Einträge ausgewählt werden können, muss zunächst die Eigenschaft der Multiselect der Listbox auf frmMultiSelectMulti oder frmMultiSelcetExtended gestellt werden.

Zum Auslesen der gewählten Listbox-Einträge kann folgender VBA-Code verwendet werden.

Sub Multi_Listbox_auslesen()
'** Auslesen aller in einer Listbox selektierten Einträge (Multiselect)
'** Dimensionierung der Variablen
Dim i As Integer
Dim lngCnt As Long
'** Startzeile festelegen
lngCnt = 4
'** Ausgabebereich löschen
ActiveSheet.Range("H4:H16").ClearContents
With Sheets(1).ListBox1
 '** Beenden, wenn nichts ausgewählt wurde
 If .ListIndex = -1 Then Exit Sub
 
 '** Listbox durchlaufen
 For i = 0 To .ListCount - 1
 
 '** Gewählte Einträge auslesen
 If .Selected(i) Then
 txt = .List(i)
 
 '** Eintragen der gewählten Einträge auf Tabellenblatt
 ActiveSheet.Cells(lngCnt, 8).Value = txt
 
 '** Zeilenzähler erhöhen
 lngCnt = lngCnt + 1
 End If
 Next
End With
End Sub


Die gewählten Einträge werden in diesem Beispiel ab Zelle H4 in den Ausgabebereich geschrieben, siehe Abbildung. In diesem Beispiel wurden in der Listbox die Einträge B, D und F ausgewählt. Dementsprechend werden nach einem Klick auf die Schaltfläche Auswahl auslesen im Ausgabebereich ab Zelle H4 diese gewählten Einträge eingetragen.

Die Inhalte, welche in der Listbox angezeigt werden sollen, befinden sich im Eingabebereich B4:B16 und werden über die Eigenschaft ListFillRange übergeben.

Unter dem folgenden Link können Sie sich die Beispieldatei herunterladen und die Funktion entsprechend selbst nachvollzliehen. 

 

 

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.