Schleife über markierte Elemente in Listbox
Betrifft: Schleife über markierte Elemente in Listbox
von: Peter
Geschrieben am: 17.09.2014 09:30:39
Hallo zusammen,
ich habe eine Listbox mit Multiselect-Option und möchte eine For-Schleife nur über die Elemente der Listbox haben, die durch die Mehrfachauswahl markiert sind.
Wie kann ich das am einfachsten realisieren?
Momentan schaut meine Listbox folgendermaßen aus (siehe Code): Ich habe in diesem Fall noch kein Multiselect. Die Elemente in der Listbox sind bei mir die einzelnen sheets. Das sheet, welches ich anklicke wird aktiviert. Jetzt möchte ich mehrere Sheets auf einmal auswählen und wie oben bereits erwähnt eine For-Schleife über diese ausgewählten sheets haben.
Private Sub ListBox1_Click()
With Me.ListBox1
If .ListIndex <> -1 Then
Sheets(.List(.ListIndex, 0)).Activate
Range(.List(.ListIndex, 1)).Select
End If
End With
Danke!
Viele Grüße,
Peter
Betrifft: AW: Schleife über markierte Elemente in Listbox
von: Hajo_Zi
Geschrieben am: 17.09.2014 09:39:40
Hallo Peter,
Private Sub CommandButton1_Click()
Dim LoLetzte As Long
Dim LoI As Long
With Worksheets("Tabelle1")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If LoLetzte = Rows.Count Then
MsgBox "keine Zeile mehr frei"
Exit Sub
End If
For LoI = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(LoI) Then
's = s & ListBox1.List(i)
' Beispiel nur Spalte 1
.Cells(LoLetzte + 1, 1) = ListBox1.List(LoI, 0)
LoLetzte = LoLetzte + 1
End If
Next LoI
End With
End Sub

Beiträge aus den Excel-Beispielen zum Thema "Schleife über markierte Elemente in Listbox"