VBA Schriftfarbe ändern?

3 Antworten

Außer dass nach

End Sub

keine Anweisung folgen darf (hier "End If"), sehe hich hier nichts Falsches. Außerdem funktioniert der Code bei mir.

Welche Version von Excel hast du?

Setz mal einen Haltepunkt bei "Sub" oder "End Sub" und schau, ob die Prozedur überhaupt aufgerufen wird.

Mit der ActiveX-Checkbox funktioniert es auch bei mir.

  • Makrosicherheit usw. nicht im Weg? (Datei → Optionen → Trust Center → Einstellungen für das Trust Center... → Makroeinstellungen)
  • Wie hast du das Event in den VBA-Editor gebracht? Normalerweise reicht ein Doppelklick auf die Checkbox im Entwurfsmodus.
  • Kopier einmal den gesamten Code aus CheckBox1_Click() heraus und schreib nur: Debug.Print "Font.ColorIndex: " & Range("B15").Font.ColorIndex. Wird dieser ausgeführt? Alternativ kannst du zum Testen einen Haltepunkt setzen.
  • Liegt auf der Zelle B15 ein Zellschutz? B15 markieren, dann Überprüfen → Änderungen → Blatt schützen → Zellen formatieren (zum Beispiel). Heb testweise einmal jeden Zellschutz auf.

Du musst zu der Checkbox erst eine Zellverknüpfung herstellen.

Mit dem Kästchen wird eine Zelle z.B. "$B$3" auf WAHR oder FALSCH gesetzt.

Rechte Maus auf Checkbox - Steuerelement formatieren - Steuerung - Zellverknüpfung. Dann im Code den Bezug auf die $B$3 setzen nicht auf die Checkbox.