Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: ChrisH am März 16, 2016, 12:53:47 Nachmittag

Titel: Office 2010: Excel ListBox Mehrfachauswahl auslesen
Beitrag von: ChrisH am März 16, 2016, 12:53:47 Nachmittag
Hallo alle zusammen,

ich möchte aus einer ListBox (ActivX Steuerelement) mit Mehrfachauswahl (fmMultiSelectMulti) die ausgewählten Werte der ListBox in eine Zelle in meiner Exceltabelle auslesen. Die Werte in der Zelle sollen sich automatisch aktualisieren, sobald sich die ausgewählten Werte in der ListBox ändern.

Danke für eure Hilfe.

Grüße,
Christian
Titel: Antw:Office 2010: Excel ListBox Mehrfachauswahl auslesen
Beitrag von: admin am März 16, 2016, 14:32:33 Nachmittag
Hallo Christian,

ich habe mal eine Beispieldatei gebaut, siehe Anlage.

Mit dem folgenden VBA-Code können die Multiselekt-Einträge ausgelesen werden:
Code: Visual Basic
  1. Sub Multi_Listbox_auslesen()
  2. '** Auslesen aller in einer Listbox selektierten Einträge (Multiselect)
  3.  
  4. '** Dimensionierung der Variablen
  5. Dim i As Integer
  6. Dim lngCnt As Long
  7.  
  8. '** Startzeile festelegen
  9. lngCnt = 4
  10.  
  11. '** Ausgabebereich löschen
  12. ActiveSheet.Range("H4:H16").ClearContents
  13.  
  14. With Sheets(1).ListBox1
  15.   '** Beenden, wenn nichts ausgewählt wurde
  16.  If .ListIndex = -1 Then Exit Sub
  17.  
  18.   '** Listbox durchlaufen
  19.  For i = 0 To .ListCount - 1
  20.    
  21.     '** Gewählte Einträge auslesen
  22.    If .Selected(i) Then
  23.       txt = .List(i)
  24.      
  25.       '** Eintragen der gewählten Einträge auf Tabellenblatt
  26.      ActiveSheet.Cells(lngCnt, 8).Value = txt
  27.      
  28.       '** Zeilenzähler erhöhen
  29.      lngCnt = lngCnt + 1
  30.     End If
  31.   Next
  32.  
  33. End With
  34.  
  35. End Sub
  36.  
  37.  

Gruß Alois