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

Forumthread: Leeren von Kontrollkästchen über Makro

Leeren von Kontrollkästchen über Makro
28.03.2018 16:54:33
Kontrollkästchen
Hallo zusammen,
wir haben ein Excel Formular, welches mit Daten von unseren Kollegen gefüllt wird.
Nachdem alles ausgefüllt und gespeichert wurde, soll das Formular in gewissen Zellen geleert _
werden. Das leeren der Zellen haben wir gut mit dem Befehl
Sub leeren() hinbekommen.
Der Code sieht (gekürzt) so aus:

Sub leeren()
Range("B5").Select
Selection.ClearContents
Range("B6").Select
Selection.ClearContents
Range("B7").Select
Selection.ClearContents
Range("B8").Select
Selection.ClearContents
Range("B10").Select
End Sub
In dem Formular befinden sich allerdings auch Kontrollkästchen die angeklickt werden können. Diese haben dann nur einen Hacken drin. Wie bekommen wir es hin, dass auch diese Hacken aus den Kontrollkästchen gelöscht werden?
Viele Grüße und besten Dank
Matthias
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leeren von Kontrollkästchen über Makro
28.03.2018 16:57:40
Kontrollkästchen
Halo Matthias,
es reicht
Range("B5:B8").ClearContents
Select, Activate usw. ist in VBA zu 99,8% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Der Cursor ist kein Hund, der überall rum geführt werden muss.
Combobox1.value=False

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Leeren von Kontrollkästchen über Makro
28.03.2018 17:02:55
Kontrollkästchen
Hallo Matthias,
und zu den Kontrollkästchen:
Rechtsklick auf dein Kontrollkästchen - Steuerelement formatieren - Zellverknüpfung
dort dann eine Zelle aus einem freien Bereich deines Tabellenblattes eintragen - für jedes Kontrollkästchen eine eigene Zelle (die Spalte in der sich diese Zellen befinden kannst du dann ja ausblenden)
Wenn ein Kontrollkästchen angeklickt wird, dann wird in der entsprechend verknüpften Zelle WAHR ausgegeben, wird der Haken entfernt wird in der Zelle FALSCH ausgegeben.
Wenn du jetzt in deinem Code einfach diesen Zellbereich leerst (mit ClearContents) wie bei den anderen Zellen auch, dann wird der Haken aus den Kontrollkästchen entfernt.
Gruß Werner
Anzeige
AW: Leeren von Kontrollkästchen über Makro
29.03.2018 09:05:33
Kontrollkästchen
Hallo Werner,
vielen Dank für Deine Hilfe! Es funktioniert. So simpel :-)
Danke
Matthias
Gerne u. Danke für die Rückmeldung. o.w.T.
29.03.2018 09:13:13
Werner
AW: dim Cbx
28.03.2018 17:11:25
Fennek
Hallo,
wenn nur der Wert zurückgesetzt werden soll:

sub F_en()
dim Cbx as Checkbox
for each Cbx in activesheet.CheckBoxes
Cbx.value = false
next Cbx
end sub
mfg
(getestet, aber code abgeschrieben)
Anzeige
AW: oder WS.CheckBoxes = false owT
28.03.2018 17:15:49
Fennek
alle auf einmal
AW: Leeren von Kontrollkästchen über Makro
28.03.2018 17:11:52
Kontrollkästchen
Hi
wenn nicht bereits schon geschehen, verknüpfe die Kontrollkästchen über deren Eigenschaften mit einer Ausgabezelle.
dann reicht es aus, wenn du dann diese Zelle ebenfalls mit .ClearContents löschst.
(alles andere liegt deutlich über euren Programmierkenntnissen)
kleiner Tip nocht, das .Select/Selection ist unnötig.
der Recorder zeichnet es zwar auf, weil wir als Mausschubser so arbeiten, aber das Makro braucht es nicht.
Range("B5").ClearContents 

funktioniert auch und ist viel schneller.
Wenn du zusammenhängende Zellbereiche hast, musst du nicht jede Zelle einzelen löschen (machst du normal ja auch nicht), sondern erst möglichst viel auswählen und dann entfernen drücken:
Range("B5:B8,B10").ClearContents

Gruß Daniel
Anzeige
noch ein Tip
28.03.2018 17:31:16
Daniel
markiere alle Zellen, die gelöscht werden sollen mit gedrückter STRG-Taste.
klicke dann ins Namensfeld (links oben, vor der Bearbeitungszeile) und gib den markierten Zellen einen Namen. (z.B. "xxx")
wenn du jetzt alle Zellen löschen willst, klickst du wieder in das Namensfeld auf den DropDownbutton.
Es sollte dann dein "xxx" erscheinen, wenn du dort draufklickst, sind die Zellen alle wieder selektiert und du brauchst nur noch ENTF zu drücken.
Vielleicht ist damit das Makro nicht mehr notwendig.
Aber auch für ein Makro ist das hilfreich, weil du nur noch
Range("xxx").ClearContents 

brauchst um alle Zellen zu löschen.
Weiterer Vorteil: dieses passt sich automatisch an, wenn du Zellen einfügst oder löschst.
wenn du bspw zwischen A und B noch eine Spalte einfügst, wandern ja die Eingebezellen von B nach C.
in deinem Code müsstest du jetzt den Code anpassen und alle "B" in "C" ändern.
Bei der Verwendung des Namens passt sich dieser automatisch an und der Code bleibt wie er ist.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Kontrollkästchen in Excel leeren: So geht's


Schritt-für-Schritt-Anleitung

Um die Kontrollkästchen in Excel zu leeren, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei und gehe zu Entwicklertools > Visual Basic.

  2. Erstelle ein neues Modul über Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub KontrollkästchenLeeren()
       Dim Cbx As CheckBox
       For Each Cbx In ActiveSheet.CheckBoxes
           Cbx.Value = False
       Next Cbx
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du Entwicklertools > Makros wählst und KontrollkästchenLeeren auswählst.

Mit diesem Makro werden alle Häkchen aus den Kontrollkästchen entfernt.


Häufige Fehler und Lösungen

  • Problem: Excel Checkbox löschen geht nicht.

    • Lösung: Stelle sicher, dass du das Kontrollkästchen korrekt ausgewählt hast. Versuche, die Zelle zu verknüpfen, wie in den Beiträgen beschrieben.
  • Problem: Kontrollkästchen lässt sich nicht löschen.

    • Lösung: Prüfe, ob das Kontrollkästchen verknüpft ist. Wenn es mit einer Zelle verknüpft ist, musst du die Zelle zunächst leeren.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die Zellverknüpfung nutzen:

  1. Rechtsklicke auf das Kontrollkästchen und wähle Steuerelement formatieren.
  2. Gehe zu Zellverknüpfung und gib eine Zelle an, die du später leeren kannst.
  3. Leere diese Zelle, um das Häkchen im Kontrollkästchen zu entfernen.

Diese Methode ist besonders nützlich, wenn du nur bestimmte Kontrollkästchen zurücksetzen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Kontrollkästchen in Excel entfernen kannst:

  1. Alle Kontrollkästchen auf einmal zurücksetzen:

    Sub AlleKontrollkästchenZurücksetzen()
       Dim Cbx As CheckBox
       For Each Cbx In ActiveSheet.CheckBoxes
           Cbx.Value = False
       Next Cbx
    End Sub
  2. Bestimmte Kontrollkästchen löschen:

    Wenn du nur bestimmte Kontrollkästchen löschen möchtest, kannst du dies tun, indem du die Zellverknüpfung für diese spezifischen Kästchen nutzt und die Zellen leerst.


Tipps für Profis

  • Nutze das Namensfeld, um mehrere Zellen auszuwählen und diese dann auf einmal zu leeren. Dies spart Zeit und ist effizienter.
  • Vermeide die Verwendung von .Select und .Activate in deinem VBA-Code. Es macht den Code langsamer und ist oft unnötig.
  • Wenn du mit vielen Kontrollkästchen arbeitest, solltest du sicherstellen, dass sie gut organisiert sind, um die Übersichtlichkeit zu bewahren.

FAQ: Häufige Fragen

1. Wie lösche ich Kontrollkästchen in Excel? Du kannst Kontrollkästchen entfernen, indem du sie manuell auswählst und die Entf-Taste drückst oder ein VBA-Makro nutzt, um sie alle auf einmal zu leeren.

2. Was tun, wenn die Kontrollkästchen nicht reagieren? Stelle sicher, dass die Kontrollkästchen nicht gesperrt oder mit einer Zelle verknüpft sind, die nicht verändert werden kann. Überprüfe auch, ob der Blattschutz aktiviert ist.

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