Collapse column

Autor Thema: Office 2010: Excel ListBox Mehrfachauswahl auslesen  (Gelesen 2137 mal)

Offline ChrisH

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Excel ListBox Mehrfachauswahl auslesen
« 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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Beiträge: 47
    • Profil anzeigen
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw:Office 2010: Excel ListBox Mehrfachauswahl auslesen
« Antwort #1 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

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.