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.
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.
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
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.
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.
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
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