VBA Schriftfarbe ändern?
Hallo zusammen,
ich habe gefühlt das ganze Internet auf den Kopfgestellt um mir meine Fragen selbst zubeantworten, aber leider habe ich nichts gefunden was mir weiterhelfen konnte.
Ich wollte, dass wenn CheckBox1 aktiviert ist, sich die Schriftfarbe in Zeile B15 in schwarz ändert. Davor ist sie grau.
Mein Code:
Private Sub CheckBox1_Click()
If CheckBox1= True Then
Range("B15").Font.ColorIndex = 1
Else
Range("B15").Font.ColorIndex = 17
End if
End Sub
End If
WEiß jemand was ich falsch gemacht hat & kann mir helfen?
Vielen Daaank
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.