Checkliste abhaken


Beispiel einer möglichen Checkliste

Checkliste in Excel abhaken

 
























Aufgabe:

Eine Checkliste soll so funktionieren, dass die einzelnen Punkte mit der Maus abgehakt werden können.


Demonstration:

In der Tabelle stehen in Spalte B die Aufgaben. Links davon befinden sich Checkboxen.
Ein Doppelklick auf eine Checkbox versieht sie mit einem Häkchen und zeigt sie grün an.
Mit einem weiteren Doppelklick kann das Abhaken wieder rückgängig gemacht werden. Die leere Checkbox wird rot angezeigt. Wenn Sie in eine leere Zelle (ohne Checkbox) in Spalte A klicken, wird eine neue, nicht angehakte Checkbox erzeugt.


Lösung:

Die leeren Checkboxen sind der Kleinbuchstabe ""o"" in Wingdings-Schriftart formatiert.
Für die Lösung wurde das Doppelklick-Ereignis des Tabellenblatts benutzt. Bei Doppelklick wird ""o"" in ""þ"" verwandelt und umgekehrt.
Durch bedingte Formatierung wird die unterschiedliche Farbe verwirklicht.
Hinweis: Ein einfacher Klick wäre sicher bedienerfreundlicher. Aber es gibt das Klick-Ereignis nicht. Das Klicken auf eine Zelle kann zwar mit dem SelectionChange-Ereignis verarbeitet werden. Doch dieses tritt auch bei Ansteuerung der Zelle mittels Cursorbewegungstasten ein. Und das kann damit ungewollt eintreten.


Anpassung:

Die Tabelle kann beliebig gestaltet werden.
Wenn die Checkboxen nicht in der Spalte A sind, muss die Konstante in der Prozedur geändert werden.

Const intSpalte = 1  'Spalte 1 mit Checkboxen = Spalte A

Den notwendigen VBA-Code finden Sie in Tabelle1 (Demonstration) der Beispielarbeitsmappe.

Folgender VBA-Code wird zum abhaken der Checkliste verwendet.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Const intSpalte = 1  'Spalte mit Checkboxen
   'Nicht ausführen, wenn Doppelklick in anderer Spalte
   If Target.Column <> intSpalte Then Exit Sub
   'Standardmäßiges Doppelklick-Ereignis ausschalten
   Cancel = True
   If Target = "o" Then
      'Leere Checkbox abhaken
      Target.Formula = "þ"
   ElseIf Target = "þ" Then
      Target.Formula = "o"
      'Abgehakte Checkbox ausschalten
   ElseIf Target = "" Then
      Target.Formula = "o"
   End If
End Sub


Das Tool kann hier heruntergeladen werden.

Partnerlinks

Relevante Artikel

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.