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

Check Box mittels Makro zurücksetzen

Forumthread: Check Box mittels Makro zurücksetzen

Check Box mittels Makro zurücksetzen
23.03.2016 21:52:57
Pflaume
Hallo Excelperten,
erfolgt in einer bestimmten Zelle meiner Arbeitsmappe eine Eingabe, erscheint eine von mir erstellte "Checkliste" mit ein paar "Check Boxen" zum abhaken. In der Checkliste gibt es auch einen Button, den der User meiner Mappe drücken soll, wenn er die Checkliste abgearbeitet hat, wodurch sich meine Checkliste schließt. Das haut einwandfrei hin. Ich habe versucht, alle Häkchen meiner Checkboxen über ein Makro zu entfernen, bzw. die Checkboxen mittels Makro wieder zurückzusetzen aber irgendwie haut das nicht hin. Ich wäre euch super dankbar, wenn ihr da mal drüberschauen könntet:
Sub BIbutton()
' BIbutton Makro
ActiveSheet.Shapes.Range(Array("Checkliste")).Select
ActiveSheet.Shapes.Range(Array("Check Box 140", "Check Box 175", _
"Check Box 176", "Check Box 177", "Check Box 178", "Check Box 179", _
"Check Box 180", "Check Box 181", "Check Box 182", "Check Box 183", _
"Check Box 184", "Check Box 185", "Check Box 186", "Check Box 187", _
"Check Box 188", "Check Box 189", "Check Box 190", "Check Box 191", _
"Check Box 192", "Check Box 193", "Check Box 194", "Check Box 195")).Select
With Selection
.Value = xlOff
.LinkedCell = ""
.Display3DShading = False
End With
ActiveSheet.Shapes.Range(Array("Checkliste")).Select
ActiveSheet.Shapes.Range(Array("Checkliste")).Visible = msoFalse
End Sub
Wie gesagt, durch meinen erstellen "Schließbutton" möchte ich alle Häkchen entfernen, bzw. die Checkboxen auf Null setzen und die Checkliste schließen, dass, sobald der nächste User in besagter Zelle eine Eingabe tätigt eine "neue" Checkliste ohne Häkchen bekommt. Ich hocke jetzt seit fast 3 Stunden vor diesem Makro aber finde den Fehler einfach nicht. Hilfe...
Gruß Pflaume

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Check Box mittels Makro zurücksetzen
23.03.2016 22:17:14
Beverly
Hi,
vielleicht so:
    Dim chkBox As CheckBox
For Each chkBox In ActiveSheet.CheckBoxes
chkBox.Value = -4146
Next chkBox


AW: Check Box mittels Makro zurücksetzen
23.03.2016 23:14:45
Pflaume
So klappts leider nicht :(

AW: Check Box mittels Makro zurücksetzen
23.03.2016 23:16:19
Pflaume
Hallo. So klappt es leider nicht :(

Anzeige
AW: Check Box mittels Makro zurücksetzen
24.03.2016 06:19:15
Werner
Hallo,
oder vielleicht so?
Dim mycntrl As OLEObject
Dim sht As Worksheet
Set sht = ActiveSheet
For Each mycntrl In sht.OLEObjects
If mycntrl.progID = "Forms.CheckBox.1" Then
mycntrl.Object = False
End If
Next mycntrl
Code ist von Rudi.
Gruß Werner

Anzeige
AW: Check Box mittels Makro zurücksetzen
24.03.2016 08:19:23
Beverly
Hi,
deine Mappe kenne ich nicht, aber bei mir funktioniert der Code völlig korrekt.
https://www.herber.de/bbs/user/104583.xlsm
Übrigens: eine Aussage wie "so klappt es nicht" ist bei der Fehlersuche ganz und gar nicht hilfreich - niemend kennt deine Mappe und sieht WAS nicht klappt.


Anzeige
AW: Check Box mittels Makro zurücksetzen
24.03.2016 08:40:53
Pflaume
Bei mir wird die "Form", also die Checkliste inklusive aller Checkboxen nur "markiert" eingefügt aber es wird nichts zurückgesetzt. Aber danke für die Rückmeldung. Gruß Pflaume

AW: Check Box mittels Makro zurücksetzen
24.03.2016 08:29:34
Daniel
Hi
wenn du die Checkboxen mit einer Ausgabezelle verknüpft hast, dann kannst einfach diese Ausgabezellen leeren oder den Wert FALSE bzwFALSCH rein schreiben.
Gruß Daniel

Anzeige
AW: Check Box mittels Makro zurücksetzen
24.03.2016 08:38:34
Pflaume
Ok, vielen Dank für die Tipps. Ich werde es heute in der Arbeit gleich mal testen. Gruß Pflaume
;
Anzeige
Anzeige

Infobox / Tutorial

Check Box in Excel über Makro zurücksetzen


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen und wähle Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub ResetCheckBoxes()
       Dim chkBox As CheckBox
       For Each chkBox In ActiveSheet.CheckBoxes
           chkBox.Value = xlOff
       Next chkBox
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Füge einen Button hinzu: Gehe zu den Entwicklertools und wähle Button (Formsteuerung).

  6. Weise dem Button das Makro ResetCheckBoxes zu.

  7. Klicke auf den Button, um alle Häkchen in der Checkliste zurückzusetzen.


Häufige Fehler und Lösungen

  • Fehler: Checkboxen werden nicht zurückgesetzt.

    • Lösung: Stelle sicher, dass die Checkboxen korrekt benannt sind und im aktiven Blatt vorhanden sind. Überprüfe auch, ob die Checkboxen mit einer Zelle verknüpft sind.
  • Fehler: Makro wird nicht ausgeführt.

    • Lösung: Überprüfe, ob Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.

Alternative Methoden

  • Verknüpfen der Checkboxen mit Zellen: Du kannst die Checkboxen mit bestimmten Zellen verknüpfen. Wenn du den Wert in diesen Zellen auf FALSE setzt, wird das Häkchen entfernt.

    Range("A1").Value = FALSE
  • Verwendung von OLEObject: Eine andere Methode besteht darin, OLEObjects in deinem Arbeitsblatt zu durchlaufen und deren Wert zu ändern:

    Dim mycntrl As OLEObject
    For Each mycntrl In ActiveSheet.OLEObjects
       If mycntrl.progID = "Forms.CheckBox.1" Then
           mycntrl.Object.Value = False
       End If
    Next mycntrl

Praktische Beispiele

Wenn du eine Checkliste in Excel erstellt hast, kannst du die Checkboxen wie folgt zurücksetzen:

  1. Erstelle eine Checkliste Excel mit Häkchen, indem du mehrere Checkboxen einfügst.
  2. Weise den Checkboxen eine Zelle zu, um den Status zu speichern.
  3. Nutze das Makro ResetCheckBoxes, um alle Häkchen nach der Verwendung zurückzusetzen.

Tipps für Profis

  • Verwende benannte Bereiche: Um die Handhabung von Checkboxen zu vereinfachen, erstelle benannte Bereiche für deine Checkboxen.
  • Fehlerprotokollierung: Integriere eine einfache Fehlerprotokollierung in dein Makro, um Probleme schneller zu identifizieren.
  • Testen in einer Kopie: Teste deine Makros immer in einer Kopie deiner Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Was mache ich, wenn meine Checkboxen nicht zurückgesetzt werden?
Überprüfe, ob die Checkboxen im aktiven Blatt sind und ob das Makro korrekt zugewiesen wurde.

2. Wie kann ich eine Excel-Checkliste zum Abhaken erstellen?
Füge Checkboxen über die Entwicklertools hinzu und verknüpfe diese mit Zellen, um den Status zu speichern.

3. Funktioniert das auch in älteren Excel-Versionen?
Ja, die grundlegenden VBA-Funktionen sind in den meisten Excel-Versionen ähnlich. Stelle jedoch sicher, dass die OLE-Objekte in deiner Version unterstützt werden.

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