Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

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
GrußformelHomepage


 

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