Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton Caption und Hintergrundfarbe ändern

CommandButton Caption und Hintergrundfarbe ändern
06.04.2009 15:57:35
MO
Hi an alle,
kann mir jemand bitte sagen, wie ich einen CommandButton auf Click gelb einfärbe und die Captionfarbe auf grau umgestellt wird und bei einem nächsten Click zurück auf grau mit Captionfarbe gelb, so dass dieses Spiel im Wechsel funktioniert?
Viele Grüße und Dankeschön für jegliche Hilfe!
MO
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton Caption und Hintergrundfarbe ändern
06.04.2009 16:09:27
Tino
Hallo,
so müsste es gehen.

Private Sub CommandButton1_Click()
With CommandButton1
.BackColor = IIf(.BackColor = &HE0E0E0, &HFFFF&, &HE0E0E0)
.ForeColor = IIf(.BackColor = &HE0E0E0, &HFFFF&, &H808080)
End With
End Sub


Gruß Tino

Anzeige
AW: CommandButton Caption und Hintergrundfarbe ändern
07.04.2009 16:15:15
Iroc
Vielen Dank!
AW: CommandButton Caption und Hintergrundfarbe ändern
07.04.2009 21:49:20
MO
Hallo Tino,
vielen Dank!
Grüße, MO
AW: CommandButton Caption und Hintergrundfarbe ändern
06.04.2009 16:20:43
Ptonka
Hallo MO,
mit nutze keinen CommandButton sondern ein Rechteck und weise ihm folgendes Makro zu:

Sub Farbwechsel()
ActiveSheet.Shapes("Rectangle 1").Select
Farbe = Selection.ShapeRange.Fill.ForeColor.SchemeColor
Select Case Farbe
Case Is = 64
ActiveSheet.Shapes("Rectangle 1").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
Selection.Font.ColorIndex = xlAutomatic
Case Is = 13
ActiveSheet.Shapes("Rectangle 1").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 64
Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
Selection.Font.ColorIndex = 6
End Select
'Hier Dein Makro
End Sub


Wobei "Rectangle 1" der Name des Rechtecks ist - Du kannst ihn natürlich variieren.
Gruß,
Ptonka

Anzeige
AW: CommandButton Caption und Hintergrundfarbe ändern
07.04.2009 21:50:03
MO
Hi Ptonka,
vielen Dank, super!
Grüße, MO
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

CommandButton Caption und Hintergrundfarbe ändern


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe und die Caption eines CommandButtons in Excel VBA zu ändern, kannst du das folgende Makro verwenden. Dieses Beispiel zeigt, wie du die Schaltfläche bei jedem Klick abwechselnd einfärben kannst:

  1. Öffne deine Excel-Arbeitsmappe und wechsle in den VBA-Editor (Alt + F11).
  2. Füge einen CommandButton in dein Arbeitsblatt ein.
  3. Klicke mit der rechten Maustaste auf den CommandButton und wähle "Code anzeigen".
  4. Füge den folgenden Code in das Codefenster ein:
Private Sub CommandButton1_Click()
    With CommandButton1
        .BackColor = IIf(.BackColor = &HE0E0E0, &HFFFF&, &HE0E0E0) ' Wechsel zwischen Grau und Gelb
        .ForeColor = IIf(.BackColor = &HE0E0E0, &HFFFF&, &H808080) ' Wechsel zwischen Textfarben
    End With
End Sub
  1. Schließe den VBA-Editor und teste den Button in deiner Excel-Datei.

Häufige Fehler und Lösungen

  • Fehler: Der Button ändert die Farbe nicht.

    • Lösung: Stelle sicher, dass du den richtigen Namen des CommandButtons im Code verwendest. Der Standardname ist "CommandButton1".
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob du das Makro aktiviert hast und die Excel-Datei als Makro-fähige Datei (z.B. .xlsm) gespeichert ist.

Alternative Methoden

Anstelle eines CommandButtons kannst du auch ein Rechteck verwenden, um die Farben zu ändern. Hier ist ein Beispielcode für die Verwendung eines Rechtecks:

Sub Farbwechsel()
    ActiveSheet.Shapes("Rectangle 1").Select
    Farbe = Selection.ShapeRange.Fill.ForeColor.SchemeColor
    Select Case Farbe
        Case Is = 64
            ActiveSheet.Shapes("Rectangle 1").Select
            Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
            Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
            Selection.Font.ColorIndex = xlAutomatic
        Case Is = 13
            ActiveSheet.Shapes("Rectangle 1").Select
            Selection.ShapeRange.Fill.ForeColor.SchemeColor = 64
            Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
            Selection.Font.ColorIndex = 6
    End Select
    ' Hier Dein Makro
End Sub

Ersetze "Rectangle 1" durch den Namen deines Rechtecks.


Praktische Beispiele

Hier sind einige Anwendungsmöglichkeiten für das Ändern der Button-Farbe in Excel:

  • Interaktive Dashboards: Verwende Schaltflächen, die ihre Farben ändern, um Benutzerinteraktionen zu visualisieren.
  • Formulare: Mache Formulare ansprechender, indem du die Farben von Buttons abhängig von Benutzeraktionen änderst.

Tipps für Profis

  • Experimentiere mit verschiedenen Farbwerten, um die Sichtbarkeit in deinen Excel-Anwendungen zu verbessern. Du kannst VBA-Farbcodes verwenden, um die gewünschten Farben zu erzielen.
  • Nutze die Application.ScreenUpdating = False und Application.ScreenUpdating = True Befehle, um Flackern während der Farbwechsel zu vermeiden, besonders wenn du mehrere Schaltflächen hast.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe des Buttons ändern?
Du kannst die Schriftfarbe mit der ForeColor-Eigenschaft ändern, wie im oben genannten Code gezeigt.

2. Wie kann ich die Hintergrundfarbe eines Buttons zurücksetzen?
Setze die BackColor-Eigenschaft auf den ursprünglichen Farbcode zurück.

3. Funktioniert dieses Beispiel in Excel 365?
Ja, der Code ist kompatibel mit Excel 365 und anderen Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige