Beispiel einer möglichen Checkliste
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.