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!
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ß MatthiasUm Werte aus einem Excel Listenfeld mit Mehrfachauswahl auszulesen und in eine andere Tabelle zu übertragen, kannst du den folgenden VBA-Code verwenden:
Öffne die Excel-Datei und wechsle in den VBA-Editor (Alt + F11).
Füge eine UserForm hinzu, die ein Listenfeld (ListBox1) und einen Button (CommandButton1) enthält.
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
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.
Fehler: Keine Werte werden übertragen.
Fehler: Der Code wird nicht ausgeführt.
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.
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.
UserForm-Steuerelemente, um eine benutzerfreundliche Oberfläche zu gestalten.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.