Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Alle Checkboxen auswählen

Forumthread: Alle Checkboxen auswählen

Alle Checkboxen auswählen
02.03.2004 18:38:01
Thomas
Hallo,
ich habe in einem Blatt 180 Checkboxen ( ja, es muss sein ) die ich nun alle entweder checken oder unchecken möchte. Um nun nicht alle einzeiln anzusprechen, möchte ich alle Checkboxen pe Schleifen ansprechen, also in etwa so:

Private Sub CommandButton3_Click()
Dim j As Integer
Do Until j = 180
If CheckBoxj.Value = False Then
CheckBoxj.Value = True
Else
CheckBoxj.Value = False
End If
Loop
End Sub

Das funktionitert so aber nicht. Auch "Checkbox" & j & ".Value" funktioniert nicht. Wie kann man hier richtig vorgehen.
Danke im voraus

Thomas
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Checkboxen auswählen
02.03.2004 19:03:42
Bert
Das sind aber "echte" Checkboxen aus der Toolbox?
Bert
AW: Alle Checkboxen auswählen
02.03.2004 19:03:51
Alex K.
Hallo Thomas,
ich gehe mal davon aus, dass du das Objekt "Checkbox" aus der Steuerelement-Toolbox meinst. Wenn ja, dann hilft dir das weiter

Public Sub SetAllCheckBox()
Dim oleObj      As OLEObject
For Each oleObj In ActiveSheet.OLEObjects
If oleObj.ProgId = "Forms.CheckBox.1" Then
If oleObj.Object.Value = True Then
oleObj.Object.Value = False
Else
oleObj.Object.Value = True
End If
End If
Next oleObj
End Sub

Anzeige
AW: Alle Checkboxen auswählen
02.03.2004 19:15:14
Josef Ehrensberger
Hallo Thomas!
Hier mal drei Beispiele!


Sub ToggleAll()
Dim oChk As OLEObject
For Each oChk In OLEObjects
If TypeName(oChk.Object) = "CheckBox" Then
oChk.Object.Value = Not oChk.Object.Value = True
End If
Next
End Sub
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
Sub UnCheckAll()
Dim oChk As OLEObject
For Each oChk In OLEObjects
If TypeName(oChk.Object) = "CheckBox" Then
oChk.Object.Value = False
End If
Next
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: Alle Checkboxen auswählen
03.03.2004 06:21:01
Thomas
Hallo,
Danke erstmal für die schnelle Antwort; habe das jetzt so gemacht

Private Sub CommandButton3_Click()
Dim oChk As OLEObject
For Each oChk In OLEObjects
If TypeName(oChk.Object) = "CheckBox" Then
oChk.Object.Value = Not oChk.Object.Value = True
Else
oChk.Object.Value = False
End If
Next
If CheckBox1 Then
CheckBox1.Value = False
Else
CheckBox1.Value = True
End If
End Sub

Checkbox 1 soll unabhängig bleiebn. Allerdings tritt jetzt der Effekt auf, das in meinen unabhängigen Textboxen auf einmla False steht. Die Textboxen sind reine Eintragsfelder und haben keine Programmierung. Wie kann ich das verhindern
Gruß
Thomas
Anzeige
AW: Alle Checkboxen auswählen
03.03.2004 23:17:40
Josef Ehrensberger
Hallo Thomas!
Das sollte es tun!


Private Sub CommandButton3_Click()
Dim oChk As OLEObject
For Each oChk In OLEObjects
If TypeName(oChk.Object) = "CheckBox" And oChk.Name <> "CheckBox1" Then
oChk.Object.Value = Not oChk.Object.Value = True
End If
Next
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
;
Anzeige

Infobox / Tutorial

Alle Checkboxen in Excel auswählen und steuern


Schritt-für-Schritt-Anleitung

Um alle Checkboxen in einem Excel-Blatt auszuwählen oder abzuwählen, kannst Du den folgenden VBA-Code verwenden. Dieser Code funktioniert mit "echten" Checkboxen aus der Steuerelement-Toolbox:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Public Sub SetAllCheckBox()
    Dim oleObj As OLEObject
    For Each oleObj In ActiveSheet.OLEObjects
        If oleObj.ProgId = "Forms.CheckBox.1" Then
            oleObj.Object.Value = Not oleObj.Object.Value
        End If
    Next oleObj
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Blatt.
  2. Füge einen Button hinzu und weise ihm das Makro SetAllCheckBox zu.

Jetzt kannst Du durch einen Klick auf den Button alle Checkboxen gleichzeitig auswählen oder abwählen.


Häufige Fehler und Lösungen

  • Fehler: Checkboxen werden nicht korrekt angesprochen.

    • Lösung: Stelle sicher, dass Du die Checkboxen aus der Steuerelement-Toolbox verwendest. Der Code funktioniert nur mit diesen Checkboxen.
  • Fehler: Andere Steuerelemente (z.B. Textboxen) werden ebenfalls beeinflusst.

    • Lösung: Modifiziere den Code, um nur Checkboxen zu berücksichtigen. Hier ist ein Beispiel:
For Each oChk In OLEObjects
    If TypeName(oChk.Object) = "CheckBox" And oChk.Name <> "CheckBox1" Then
        oChk.Object.Value = Not oChk.Object.Value
    End If
Next

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Checkboxen manuell ansprechen. Eine Möglichkeit ist, sie über die Eigenschaften zu steuern, jedoch ist dies bei vielen Checkboxen unpraktisch.


Praktische Beispiele

Hier sind einige nützliche VBA-Skripte, die Du in Deinem Excel-Projekt verwenden kannst:

  1. Alle Checkboxen aktivieren:

    Public Sub CheckAll()
       Dim oChk As OLEObject
       For Each oChk In ActiveSheet.OLEObjects
           If TypeName(oChk.Object) = "CheckBox" Then
               oChk.Object.Value = True
           End If
       Next oChk
    End Sub
  2. Alle Checkboxen deaktivieren:

    Public Sub UnCheckAll()
       Dim oChk As OLEObject
       For Each oChk In ActiveSheet.OLEObjects
           If TypeName(oChk.Object) = "CheckBox" Then
               oChk.Object.Value = False
           End If
       Next oChk
    End Sub

Tipps für Profis

  • Verwende Debug.Print innerhalb Deiner Schleifen, um den Status der Checkboxen während der Ausführung zu überprüfen.
  • Du kannst auch benutzerdefinierte Buttons erstellen, um spezifische Aktionen für verschiedene Gruppen von Checkboxen durchzuführen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich eine spezifische Checkbox von der Auswahl ausschließen?
Antwort: Du kannst im Code eine Bedingung hinzufügen, die prüft, ob der Name der Checkbox mit dem auszuschließenden Namen übereinstimmt.

2. Frage
Funktioniert dieser Code in allen Excel-Versionen?
Antwort: Der Code sollte in den meisten modernen Excel-Versionen funktionieren, insbesondere in Excel 2010 und neuer, solange Du die Steuerelement-Toolbox verwendest.

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