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

Kontrollkästchen nach Klick Haken raus

Forumthread: Kontrollkästchen nach Klick Haken raus

Kontrollkästchen nach Klick Haken raus
26.05.2018 19:17:38
Dieter(Drummer)
Guten Abend VBA Spezialisten,
wie muss der Code lauten, dass das "Kontrollkästchen 5" in Tabelle1, aus Formular Steuerelemente, nach dem Klick, der Haken wieder raus ist.
Es wird ein Makro, in ausblendeter Datei "PersonL.xlsb" aufgerufen und das funktioniert.
Nach ausführen des Makros, soll der Haken im "Kontrollkästchen 5" wieder raus.
Trotz viel Suche habe ich keine Lösung gefunden.
Ideal wäre ein Extracode, der in allen Kontrollkästchen die Haken entfernt, egal welcher aktiviert wurde.
Mit der Bitte um Hilfe,
grüßt Dieter(Drummer
Hier mein jetziger Code in Modul1:
Sub Kontrollkästchen5_Klick()
Application.Run "PersonL.xlsb!Kosten"
End Sub

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen nach Klick Haken raus
26.05.2018 19:20:41
Hajo_Zi
Application.Run "PersonL.xlsb!Kosten"
Kontrollkästchen5=false

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Kontrollkästchen nach Klick Haken raus
26.05.2018 19:25:15
Dieter(Drummer)
Danke Hajo,
da kommt nur ein Fehler "Variable nicht definiert".
Evtl. kannst da auch nochmal helfen, da ich nicht weiß, wie ich die "Variable" definieren soll.
Gruß, Dieter(Drumer)
Anzeige
AW: Kontrollkästchen nach Klick Haken raus
26.05.2018 19:41:01
Sepp
Hallo Dieter,
Sub Kontrollkästchen1_Klicken()
  Tabelle1.Shapes(Application.Caller).DrawingObject.Value = False
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Danke Sepp, funktioniert perfekt ...
26.05.2018 19:55:46
Dieter(Drummer)
... werde mal versuchen, wie der Code sein muss, dass in alle Kontrollkästchen, wenn mehrere da sind, die Haken zu entfernen, ohne es in jedem Code zu definieren.
Danke, Gruß und einen erfreulichen Abend.
Dieter(Drummer)
AW: Danke Sepp, funktioniert perfekt ...
26.05.2018 20:07:52
Sepp
Hallo Dieter,
Sub alleRaus()
  Dim objShp As Object

  For Each objShp In Tabelle1.Shapes
    With objShp
      If .Type = msoFormControl Then
        If .FormControlType = xlCheckBox Then
          .DrawingObject.Value = False
        End If
      End If
    End With
  Next
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Danke Sepp und Werner ...
26.05.2018 20:30:28
Dieter(Drummer)
... beide Varianten, für Haken in allen Kontrollkästchen entfernen, funktionieren perfekt.
Herzlichen Dank für prima Lösungen und einen erfreulichen Abend.
Gruß, Dieter(Drummer)
Gerne u. Danke für die Rückmeldung und...
26.05.2018 20:42:18
Werner
Hallo Dieter,
...eine weitere Möglichkeit wäre, die Kontrollkästchen jeweils mit einer Zelle zu verknüpfen
-Rechtsklick auf Kontrollkästchen - Steuerelement formatieren - Steuerung - Zellverknüpfung
Dadurch wird bei gesetztem Haken True (Wahr) in die entsprechende Zelle ingetragen.
Wenn du dann den entsprechenden Zellbereich mit z.B.
Range("A1:A3") = False
änderst, werden auch die Haken der entsprechenden Kontrollkästchen entfernt.
Gruß Werner
Anzeige
AW: Danke Werner, eien gute Idee ...
27.05.2018 09:00:25
Dieter(Drummer)
... die durchaus auch eine praktikable Lösung ist.
Gruß, Dieter(Drummer)
AW: Danke Sepp, funktioniert perfekt ...
26.05.2018 20:18:48
Werner
Hallo Dieter,
ich hab auch mal ein wenig rumgespielt.
Public Sub aaa()
Dim sh As Shape
For Each sh In ThisWorkbook.Worksheets("Tabelle1").Shapes
If sh.Name Like "Check Box*" Then
sh.DrawingObject.Value = False
End If
Next sh
End Sub
@Sepp: Spricht etwas gegen diese Version?
Gruß Werner
Anzeige
spricht nichts dagegen! o.T.
26.05.2018 20:38:36
Sepp
 ABCDEF
1Gruß Sepp
2
3

Anzeige
Danke für die Rückmeldung. o.w.T.
26.05.2018 20:42:54
Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Kontrollkästchen in Excel nach Klick zurücksetzen


Schritt-für-Schritt-Anleitung

Um ein Kontrollkästchen in Excel nach einem Klick zurückzusetzen, kannst du den folgenden VBA-Code verwenden. Dieser Code entfernt den Haken im Kontrollkästchen, nachdem es angeklickt wurde.

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), gehe zu Einfügen und wähle Modul.
  3. Füge den folgenden Code ein:

    Sub Kontrollkästchen5_Klick()
       Application.Run "PersonL.xlsb!Kosten"
       Tabelle1.Shapes("Kontrollkästchen 5").DrawingObject.Value = False
    End Sub
  4. Verknüpfe den Code mit dem Kontrollkästchen:

    • Rechtsklicke auf das Kontrollkästchen, wähle Makro zuweisen... und wähle Kontrollkästchen5_Klick.
  5. Teste das Kontrollkästchen:

    • Klicke auf das Kontrollkästchen, um den Haken zu entfernen.

Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert":

    • Stelle sicher, dass du die Variable korrekt deklariert hast. Beispiel:
    Dim objShp As Object
  • Fehler: Kontrollkästchen wird nicht gefunden:

    • Überprüfe den Namen des Kontrollkästchens. Stelle sicher, dass der Name im Code mit dem tatsächlichen Namen des Kontrollkästchens übereinstimmt.

Alternative Methoden

Eine einfache Methode zur Rücksetzung aller Kontrollkästchen in einem Arbeitsblatt ist die Verwendung des folgenden Codes:

Sub alleRaus()
    Dim objShp As Object
    For Each objShp In Tabelle1.Shapes
        If objShp.Type = msoFormControl Then
            If objShp.FormControlType = xlCheckBox Then
                objShp.DrawingObject.Value = False
            End If
        End If
    Next objShp
End Sub

Diese Methode entfernt den Haken in allen Kontrollkästchen auf Tabelle1.


Praktische Beispiele

  1. Rücksetzen eines einzelnen Kontrollkästchens:

    Sub Kontrollkästchen1_Klicken()
       Tabelle1.Shapes(Application.Caller).DrawingObject.Value = False
    End Sub
  2. Verknüpfte Zellen verwenden:

    • Du kannst die Kontrollkästchen mit Zellen verknüpfen. Rechtsklicke auf das Kontrollkästchen, wähle Steuerelement formatieren, gehe zu Steuerung und wähle eine Zellverknüpfung. Ändere dann den Wert der Zelle:
    Range("A1:A3") = False

Tipps für Profis

  • Verwende die Like-Anweisung:

    • Mit If sh.Name Like "Check Box*" kannst du alle Kontrollkästchen unabhängig von ihrem spezifischen Namen ansprechen.
  • Verknüpfte Zellen nutzen:

    • Verknüpfe Kontrollkästchen mit Zellen, um die Kontrolle über die Haken zu erleichtern.
  • Automatisierung mit Schaltflächen:

    • Überlege, eine Schaltfläche zu erstellen, die alle Kontrollkästchen auf einmal zurücksetzt, um die Benutzerfreundlichkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie entferne ich Haken in mehreren Kontrollkästchen gleichzeitig?
Du kannst den oben beschriebenen Code alleRaus verwenden, um alle Haken in den Kontrollkästchen gleichzeitig zu entfernen.

2. Was mache ich, wenn mein Kontrollkästchen nicht funktioniert?
Stelle sicher, dass das Kontrollkästchen korrekt mit dem entsprechenden Makro verknüpft ist und dass der Name im Code genau mit dem Namen des Kontrollkästchens übereinstimmt.

3. Funktioniert das auch in PowerPoint?
Die beschriebenen Methoden sind für Excel optimiert. In PowerPoint kannst du ähnliche VBA-Skripte verwenden, jedoch gibt es Unterschiede in der Handhabung von Kontrollkästchen ohne Makros.

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