Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox Mehrfachauswahl auslesen

Forumthread: Listbox Mehrfachauswahl auslesen

Listbox Mehrfachauswahl auslesen
02.02.2005 12:53:51
littlemungo
Hallo,
folgendes ws. triviales Problem.
Habe eine Listbox, die ich mit Werten aus einer Tabelle fülle. Wie kann ich nun die Werte aus diese Listbox auslesen und zB in eine andere Tabelle schreiben? Brauche Mehrfachauswahl...
Danke!
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Mehrfachauswahl auslesen
02.02.2005 13:06:35
littlemungo
das hatte ich vor meinem post schon über "suche" gefunden... hilft mir nur bedingt... hab das problem aus verzweiflung anders gelöst... zwar nicht "schön", aber es funktioniert immerhin...
danke aber auf jeden fall!!!!
Anzeige
AW: Listbox Mehrfachauswahl auslesen
02.02.2005 13:14:22
Matthias
Hallo Mungo,
wo liegt dann das Problem?
Du brauchst die Werte ja nicht erst in eine Array-Variable zu schreiben, wenn du sie nur in eine Tabelle übertragen willst:
Private Sub CommandButton1_Click()
Const zeile = 10
Const spalte = 2
Dim zähler As Integer
Dim i As Integer
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Cells(zeile + zähler, spalte) = .List(i)
zähler = zähler + 1
End If
Next i
End With
End Sub
Gruß Matthias
Anzeige
AW: Listbox Mehrfachauswahl auslesen
02.02.2005 13:19:23
littlemungo
Hast recht... das Array hat mich abgeschreckt.. so isses ganz einfach.. vielen dank!
dann bau ich doch mein makro glatt nochmal um....
;
Anzeige
Anzeige

Infobox / Tutorial

Werte aus einer Listbox mit Mehrfachauswahl auslesen


Schritt-für-Schritt-Anleitung

Um Werte aus einem Excel Listenfeld mit Mehrfachauswahl auszulesen und in eine andere Tabelle zu übertragen, kannst du den folgenden VBA-Code verwenden:

  1. Öffne die Excel-Datei und wechsle in den VBA-Editor (Alt + F11).

  2. Füge eine UserForm hinzu, die ein Listenfeld (ListBox1) und einen Button (CommandButton1) enthält.

  3. Klicke mit der rechten Maustaste auf den Button, wähle "Code anzeigen" und füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
       Const zeile = 10
       Const spalte = 2
       Dim zähler As Integer
       Dim i As Integer
       With ListBox1
           For i = 0 To .ListCount - 1
               If .Selected(i) Then
                   Cells(zeile + zähler, spalte) = .List(i)
                   zähler = zähler + 1
               End If
           Next i
       End With
    End Sub
  4. Schließe den VBA-Editor und teste das Listenfeld, indem du mehrere Optionen auswählst und auf den Button klickst. Die ausgewählten Werte sollten ab Zeile 10 in Spalte 2 der Tabelle geschrieben werden.


Häufige Fehler und Lösungen

  • Fehler: Keine Werte werden übertragen.

    • Überprüfe, ob die ListBox tatsächlich auf Mehrfachauswahl eingestellt ist. Das kannst du im Eigenschaftenfenster der ListBox unter "MultiSelect" einstellen.
  • Fehler: Der Code wird nicht ausgeführt.

    • Stelle sicher, dass du den Button korrekt mit dem Code verknüpft hast und dass das Makro in der richtigen UserForm gespeichert ist.

Alternative Methoden

Eine alternative Methode zur Auswertung eines Listenfelds für Mehrfachauswahl in Excel wäre die Verwendung eines Dropdowns mit Mehrfachauswahl. Hier könntest du mit Hilfe von VBA ein benutzerdefiniertes Dropdown erstellen, das die Auswahl in einem bestimmten Zellbereich speichert. Diese Methode erfordert jedoch mehr Programmieraufwand.


Praktische Beispiele

Angenommen, du hast eine Liste von Farben in deiner ListBox:

ListBox1.AddItem "Rot"
ListBox1.AddItem "Blau"
ListBox1.AddItem "Grün"
ListBox1.AddItem "Gelb"

Wenn der Benutzer "Rot" und "Blau" auswählt und auf den Button klickt, erscheinen diese Werte in der angegebenen Tabelle ab Zeile 10, Spalte 2.


Tipps für Profis

  • Verwende UserForm-Steuerelemente, um eine benutzerfreundliche Oberfläche zu gestalten.
  • Optimiere die Performance, indem du die Anzahl der Zellen, in die du schreibst, begrenzt. Übertrage Daten in einem Batch, statt sie einzeln zu schreiben.
  • Experimentiere mit dem Excel Dropdown Mehrfachauswahl Filter, um eine bessere Benutzererfahrung zu schaffen.

FAQ: Häufige Fragen

1. Wie stelle ich sicher, dass die ListBox nur für Mehrfachauswahl konfiguriert ist?
Gehe zu den Eigenschaften der ListBox und setze "MultiSelect" auf "fmMultiSelectMulti".

2. Kann ich die Werte auch in eine andere Excel-Datei schreiben?
Ja, du kannst den Code anpassen, um eine andere Arbeitsmappe zu referenzieren. Stelle sicher, dass die andere Datei geöffnet ist und verwende Workbooks("Dateiname.xlsx").Sheets("Sheetname").Cells(...) im Code.

3. Wie kann ich die Auswahl in einer Access-Datenbank speichern?
Verwende VBA, um die ausgewählten Werte in die Access-Datenbank zu übertragen, indem du die entsprechenden DAO- oder ADO-Methoden anwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige