Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

mit einem Kontrollkästchen alle anderen aktivieren





Frage

Hallo zusammen, ich hab mir einige Formular Kontrollkästchen in meinem Excel Sheet eingebaut und diese mit Zellen verlinked. Jetzt möcht ich aber, dass ich durch die Aktivierung eines Kontrollkästchen alle vorigen aktivieren bzw. deaktivieren kann. Halt so ein bequemes "Alle auswählen Kästchen". Weiß vielleicht jemand wie ich das hinbekommen könnte? Herzlichen Dank an alle Helferinnen und Helfer. Es grüsst Tango

Antwort 1 von coros

Hi Tango,

kopiere nachfolgenden VBA Code in das Tabellenblatt, in dem sich Deine CheckBoxen befinden.

Option Explicit

Private Sub CheckBox1_Click()
Dim Box As OLEObject
If CheckBox1 = True Then
For Each Box In ActiveSheet.OLEObjects
Box.Object = True
Next Box
Else
For Each Box In ActiveSheet.OLEObjects
Box.Object = False
Next Box
End If
End Sub

Bei dem Code wird, wenn durch Anklicken bei CheckBox1 der Haken gesetzt (True) wird, bei allen in dem Blatt befindlichen CheckBoxen ebenfalls der Haken gesetzt (True). Wird der Haken wieder bei CheckBox1 entfernt (False), verschwinden bei allen in dem Tabellenblatt vorhandenen CheckBoxen die Haken (False).

Wenn es bei Dir eine andere CheckBox als CheckBox1 ist, dann musst Du in dem VBA Code überall wo das Wort „CheckBox1“ vorkommt, die 1 gegen die Zahl der CheckBox tauschen, die das aktivieren aller CheckBoxen durchführen soll.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Tango

Hi Oliver,

erstmal GAAAANZ herzlichen Dank.
Das ist eigentlich genau das was ich suche.

Aber ich befürchte, das läuft bei mir nicht, weil ich Formular Kontrollkästchen habe und nicht die aus der Steuerelement Toolbox.

Gibts da trotzdem ne Möglichkeit? Nochmals tausend Dank für deine Hilfe

Gruss
Tango

Antwort 3 von coros

Hi Tango,

schlkechte Wahl, die CheckBoxen aus der Symbolleiste Formular zu verwenden. Mit denen etwas zu machen ist mühsam. Nachfolgend der Code, der Dir alle Kontrollkästchen aktiviert und wieder deaktiviert. Kopiere den Code in das VBA Projekt des Tabellenblattes, das die Kontrollkästchen enthält.

Option Explicit

Private Sub CheckBox1_Click()
Dim Wiederholungen As Integer
If CheckBox1 = True Then
For Wiederholungen = 1 To ActiveSheet.Shapes.Count
On Error Resume Next
 ActiveSheet.CheckBoxes("Kontrollkästchen " & Wiederholungen) = True
Next
Else
For Wiederholungen = 1 To ActiveSheet.Shapes.Count
On Error Resume Next
 ActiveSheet.CheckBoxes("Kontrollkästchen " & Wiederholungen) = False
Next
End If
End Sub

Damit Du das Makro starten kannst, nehme aus der Symbolleiste Steuerelement-Toolbox eine CheckBox und positioniere diese in Deinem Tabellenblatt. Alternativ kannst Du natürlich auch einen CommandButton benutzen. Dann muss der Code halt in das Ereignis des CommandButtons eingetragen werden. Das Makro aktiviert alle Kontrollkästchen in Deinem Tabellenblatt. Allerdings solltest Du vorher noch den Namen der Kontrollkästchen überprüfen. Klicke dazu mal nach dem Zufallsprinzip einige Kontrollkästchen mit der rechten Maustaste an und schau nach, was oben links, also dort wo normalerweise die Zellbezeichnung der aktiven Zelle steht, für ein Name angezeigt wird. Steht dort Kontrollkästchen, ist alles OK. Steht dort ein anderer Name, musst Du in dem Code überall dort, wo das Wort Kontrollkästchen vorkommt, dieses löschen und den Namen Deiner Kontrollkästchen eintragen.

Ich hoffe, Du kommst klar. Wenn nicht, melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Tango

Hi Oliver,

das funktioniert ganz hervorragend.

Sollte ich mal Bundeskanzler werden, erhälst du das Bundesverdienstkreuz am Bande von mir ;-)

Sollte dies widererwartend nicht klappen, ist dir mein ewiger in jedem Fall sicher

Hast mir echt weitergeholfen. DANKE.

Beste Grüße
Tango