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

alle Checkboxen in Listbox aktivieren

Forumthread: alle Checkboxen in Listbox aktivieren

alle Checkboxen in Listbox aktivieren
09.11.2013 07:12:25
Lothar
Hallo an Alle
Ich habe in einem Userform eine Listbox
- MultiSelect: 1 - fmMultiSelectMulti
- ListStyle: 1 - fmListStyleOption
Wenn das Userform geöffnet und die Listbox gefüllt wird,
was dynamisch erfolgt, muss man, wenn alle Einträge ausgewählt werden sollen,
jede einzelne Checkbox anklicken.
Ist es möglich per Commandbutton alle gleichzeitig zu aktivieren / deaktivieren?
Habe im Netz schon verschiedene Beiträge gefunden, wie z.B. diesen:
Option Explicit
Sub CheckAll()
Dim oChk As OLEObject
For Each oChk In OLEObjects
If TypeName(oChk.Object) = "CheckBox" Then
oChk.Object.Value = True
End If
Next
End Sub
Funktioniert leider nicht, es kommt die Fehlermeldung:
Fehler beim Kompilieren:
Variable nicht definiert
in dieser Zeile:
For Each oChk In OLEObjects
dieser Teil:
In OLEObjects
ist blau markiert
Kann mir jemand einen Tipp geben, was ich wo ändern muss?
Im Anschluss soll diese Listbox als so 'ne Art Playlist an den Windows Mediaplayer übergeben werden. Auch dafür habe ich schon einige Beiträge gefunden.
Leider alle nur immer für einen Titel. Das funktioniert auch super, aber es ist halt nervig.
Vielleicht hat ja auch jemand für dieses Problem eine Idee oder sogar Lösung.
Vielen Dank Lothar

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: alle Checkboxen in Listbox aktivieren
09.11.2013 07:36:11
hary
Moin Lothar
Fuer das erste Problem. Name der listbox ggf. anpassen.
Dim i As Long
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = True
Next

gruss hary

AW: alle Checkboxen in Listbox aktivieren
09.11.2013 07:59:30
ransi
Hallo Lothar
Die Listboxen sind Teil der Controlsauflistung der Userform.
Brauchst du hier aber garnicht.
So gehts:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
    Dim L As Long
    For L = 0 To ListBox1.ListCount - 1
        ListBox1.Selected(L) = True
    Next
End Sub


ransi

Anzeige
AW: alle Checkboxen in Listbox aktivieren
09.11.2013 08:14:17
Lothar
Hallo Hary, hallo ransi
vielen Dank für Eure super schnelle Hilfe.
Funktioniert super.
Vielleicht gibt's ja auch noch eine Lösung für Teil 2.
Gruß Lothar

AW: alle Checkboxen in Listbox aktivieren, Teil 2
09.11.2013 09:51:35
Lothar
Hallo nochmal
Ich habe zum obigen Thread, Teil 2, mal eine Testdatei angehängt.
Vielleicht ist das ja hilfreich.

Die Datei https://www.herber.de/bbs/user/88004.xlsm wurde aus Datenschutzgründen gelöscht


Vielen Dank und
Gruß Lothar
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Alle Checkboxen in einer Listbox aktivieren


Schritt-für-Schritt-Anleitung

Um alle Checkboxen in einer Listbox mit dem VBA-Tool in Excel zu aktivieren, kannst du folgende Schritte befolgen:

  1. Öffne dein Userform, das eine Listbox enthält.

  2. Stelle sicher, dass die Listbox so konfiguriert ist, dass sie mehrere Auswahlmöglichkeiten erlaubt. Setze die Eigenschaften wie folgt:

    • MultiSelect: fmMultiSelectMulti
    • ListStyle: fmListStyleOption
  3. Füge einen CommandButton zu deinem Userform hinzu.

  4. Klicke mit der rechten Maustaste auf den CommandButton und wähle "Code anzeigen".

  5. Füge den folgenden VBA-Code ein:

    Private Sub CommandButton1_Click()
       Dim i As Long
       For i = 0 To ListBox1.ListCount - 1
           ListBox1.Selected(i) = True
       Next
    End Sub
  6. Schließe den VBA-Editor und teste dein Userform. Wenn du nun den CommandButton klickst, sollten alle Checkboxen in der Listbox aktiviert werden.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert" beim Kompilieren.

    • Lösung: Überprüfe, ob du den richtigen Namen für deine Listbox im Code verwendest. Stelle sicher, dass ListBox1 den Namen deiner Listbox entspricht.
  • Fehler: Die Checkboxen in der Listbox mit Checkboxen werden nicht aktiviert.

    • Lösung: Achte darauf, dass die MultiSelect-Eigenschaft auf fmMultiSelectMulti eingestellt ist. Andernfalls kannst du nur eine Checkbox aktivieren.

Alternative Methoden

Falls du eine Listbox mit Checkboxen in einem WPF-Projekt verwendest, kannst du auch eine ListView nutzen. Hier ist ein Beispiel, wie du dies umsetzen kannst:

Private Sub CommandButton1_Click()
    Dim item As ListViewItem
    For Each item In ListView1.Items
        item.Checked = True
    Next
End Sub

Diese Methode ist besonders nützlich, wenn du in einer WPF-Anwendung arbeitest, da dort die Checkboxen in einer ListView einfacher zu verwalten sind.


Praktische Beispiele

Wenn du eine Playlist für den Windows Media Player erstellen möchtest, kannst du die oben genannten Methoden kombinieren. Hier ein Beispiel, wie du die ausgewählten Elemente der Listbox in die Playlist überträgst:

Private Sub CommandButton2_Click()
    Dim i As Long
    Dim objPlayer As Object
    Set objPlayer = CreateObject("WMPlayer.OCX")

    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            objPlayer.currentPlaylist.appendItem(objPlayer.newMedia(ListBox1.List(i)))
        End If
    Next

    objPlayer.controls.play
End Sub

Tipps für Profis

  • Nutze benutzerdefinierte Formate in deiner Listbox, um die Benutzererfahrung zu verbessern.
  • Verwende Option Explicit am Anfang deines Codes, um sicherzustellen, dass alle Variablen deklariert sind und um Fehler zu vermeiden.
  • Wenn du mehrere Listboxen mit Checkboxen verwendest, erstelle eine Funktion, die die Checkboxen für alle Listboxen gleichzeitig aktiviert.

FAQ: Häufige Fragen

1. Wie kann ich die Checkboxen in einer Listbox wieder deaktivieren?
Du kannst einfach den Code anpassen und ListBox1.Selected(i) = False verwenden, um alle Checkboxen zu deaktivieren.

2. Funktioniert dies in allen Excel-Versionen?
Ja, dieser Code sollte in allen modernen Excel-Versionen (Excel 2007 und höher) funktionieren, solange du die richtigen Eigenschaften für deine Listbox eingestellt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige