Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton Schriftfarbe

CommandButton Schriftfarbe
31.07.2020 14:33:07
Marko
Hallo,
ich möchte die Schriftfarbe des CommondButton1 wie folgt ändern:
- ist in Tabelle "LG" Zelle"AM12" der Wert größer 0, dann soll die Schriftfarbe des Button "grün" sein
- ist in Tabelle "LG" Zelle"AM12" der Wert gleich 0, dann soll die Schriftfarbe des Button "rot" sein
Wie muss ich das Makro hierfür schreiben?
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton Schriftfarbe
31.07.2020 14:35:50
onur
Command-Button auf Userform oder Blatt? Wenn auf Blatt: ActiveX oder Formularsteuerelement?
Wie wird AM12 geändert? Durch Formel oder manuell?
AW: CommandButton Schriftfarbe
31.07.2020 14:41:40
Marko
Blatt und ActiveX
Wert in AM12 ändert sich durch Formel
AW: CommandButton Schriftfarbe
31.07.2020 14:57:36
onur
Wenn du das in das Modul des Blattes "LG" kopierst, brauchst du nicht mal ein Button - es wird automatisch geändert.
Anzeige
AW: CommandButton Schriftfarbe
31.07.2020 14:58:02
onur
Wenn du das in das Modul des Blattes "LG" kopierst, brauchst du nicht mal ein Button - es wird automatisch geändert.
Private Sub Worksheet_Calculate()
Range("AM12").Font.ColorIndex = xlAutomatic
If Range("AM12").Value > 0 Then Range("AM12").Font.Color = -11489280
If Range("AM12").Value = 0 Then Range("AM12").Font.Color = -16776961
End Sub

Anzeige
AW: CommandButton Schriftfarbe
31.07.2020 15:01:53
Marko
Perfekt und vielen Dank...
Gerne !
31.07.2020 15:02:38
onur
AW: CommandButton Schriftfarbe
31.07.2020 15:17:19
Gerd
Moin
Private Sub Worksheet_Calculate()
Worksheets("LG").OLEObjects("CommandButton1").Object.ForeColor = _
IIf(Range("AM12") = 0, vbRed, vbGreen)
End Sub

Gruß Gerd
Anzeige
;
Anzeige

Infobox / Tutorial

Schriftfarbe von CommandButton in Excel ändern


Schritt-für-Schritt-Anleitung

Um die Schriftfarbe eines CommandButtons in Excel zu ändern, folge diesen Schritten:

  1. Öffne Excel und lade die Arbeitsmappe, die den CommandButton enthält.

  2. Klicke mit der rechten Maustaste auf das Blatt "LG" und wähle "Code anzeigen".

  3. Füge den folgenden VBA-Code in das Modul ein:

    Private Sub Worksheet_Calculate()
        Worksheets("LG").OLEObjects("CommandButton1").Object.ForeColor = _
        IIf(Range("AM12") = 0, vbRed, vbGreen)
    End Sub
  4. Dieser Code prüft den Wert in Zelle AM12. Ist dieser größer als 0, wird die Schriftfarbe des Buttons grün; ist er gleich 0, wird die Schriftfarbe rot.

  5. Schließe den VBA-Editor und kehre zur Excel-Oberfläche zurück.

  6. Ändere den Wert in AM12 durch eine Formel oder manuell und beobachte die Änderung der Schriftfarbe des CommandButtons.


Häufige Fehler und Lösungen

  • Fehler: Der Button ändert die Farbe nicht.

    • Lösung: Stelle sicher, dass der Code im richtigen Blattmodul (Blatt "LG") eingefügt wurde.
  • Fehler: Der Wert in AM12 wird nicht aktualisiert.

    • Lösung: Prüfe, ob die Zelle AM12 korrekt durch eine Formel aktualisiert wird.
  • Fehler: Der Button ist nicht als ActiveX-Steuerelement.

    • Lösung: Vergewissere dich, dass der Button als ActiveX-Element und nicht als Formularsteuerelement eingefügt wurde.

Alternative Methoden

Wenn du den CommandButton nicht verwenden möchtest, kannst du die Schriftfarbe der Zelle direkt ändern:

  1. Verwende den folgenden VBA-Code:

    Private Sub Worksheet_Calculate()
        Range("AM12").Font.Color = IIf(Range("AM12") = 0, vbRed, vbGreen)
    End Sub
  2. Dieser Code ändert die Schriftfarbe in Zelle AM12 direkt, je nach Wert.


Praktische Beispiele

  • Beispiel 1: Wenn du möchtest, dass der CommandButton bei einem positiven Wert in AM12 grün wird, füge den oben genannten Code in das Blattmodul von "LG" ein.

  • Beispiel 2: Wenn du die Schriftfarbe für mehrere Buttons ändern möchtest, kannst du den Code entsprechend anpassen:

    Private Sub Worksheet_Calculate()
        With Worksheets("LG")
            .OLEObjects("CommandButton1").Object.ForeColor = IIf(.Range("AM12") = 0, vbRed, vbGreen)
            .OLEObjects("CommandButton2").Object.ForeColor = IIf(.Range("AM12") = 0, vbRed, vbGreen)
        End With
    End Sub

Tipps für Profis

  • Nutze die Worksheet_Calculate-Ereignisprozedur, um Reaktionen auf Änderungen in Formeln oder Zellwerten zu ermöglichen.
  • Teste den Code in einer Kopie deiner Arbeitsmappe, um unerwünschte Änderungen zu vermeiden.
  • Achte darauf, dass du die richtigen Farbwerte verwendest. Verwende vbRed und vbGreen für eine einfache Handhabung.

FAQ: Häufige Fragen

1. Kann ich die Schriftfarbe des CommandButtons auch über ein anderes Ereignis ändern? Ja, du kannst auch andere Ereignisse wie Worksheet_Change verwenden, um die Schriftfarbe basierend auf Änderungen in anderen Zellen zu ändern.

2. Wo finde ich den VBA-Editor? Der VBA-Editor kann durch Drücken von ALT + F11 geöffnet werden. Dort kannst du deinen Code einfügen und bearbeiten.

3. Funktioniert das in Excel 2016 und späteren Versionen? Ja, der bereitgestellte Code funktioniert in Excel 2016 und den späteren Versionen, die ActiveX-Steuerelemente unterstützen.

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