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

Forumthread: Schaltfläche wenn aktiv farbe ändern

Schaltfläche wenn aktiv farbe ändern
23.01.2013 07:35:36
Noemi
Hallo
Ich habe mehrere Tabellenblätter und die erste Seite ist ein Hauptmenü wo ich zwischen den Tabellenblättern navigieren kan, Nun habe ich zu jedem Tabellenblatt eine Schaltfläche für einblenden und eine für ausblenden des Tabellenblattes.
Jetzt möchte ich gerne ein Makro dazuschreiben, welches wenn es eingeblendet ist die schaltfläche grün einfärbt und wenn es ausgeblendet ist die schaltfläche rot einfärbt.
Sub Ausblenden_1()
' Ausblenden_1 Makro
Sheets("Auftragsdaten").Visible = False
End Sub
Sub Einblenden_1()
' Einblenden_1 Makro
Sheets("Auftragsdaten").Visible = True
End Sub

Dass sind meine 2 Makros die ich habe.
Gruss Noemi

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 08:07:30
Marc
Moin!
Die Färbung kannst du mE nicht ändern. Nur wenn du eine eigene Maske dazu machst.
Ich hab das über eine einzelne Schalfläche gelöst, in der ich den Text jeweis geändernt hab.
Im Makro wurde dann Textabhängig gesteuert, ob ein-oder ausgeblendet wurde.
Sub Ein_ausblenden_1()
if activesheet.shape(xyz).text ="einblenden" then
Sheets("Auftragsdaten").Visible = True
activesheet.shape(xyz).text ="ausblenden"
else
Sheets("Auftragsdaten").Visible = false
activesheet.shape(xyz).text ="einblenden"
End Sub

Das Steuerelement muß noch korrekt angesprochen werden
Gruß, MCO

Anzeige
AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 08:34:40
Noemi
Was meinst du mit korrekt angesprochen werden? Bei mir funktioniert es nicht wrklich. und wa bedeutet:
shape(xyz)
gruss Noemi

AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 09:31:48
Daniel
Hi
nimm den ToggleButton aus den ActiveX-Steuerelementen.
da wird der Schaltzustand automatisch angezeigt, ohne das du das Programmieren musst.
Ausserdem wird der Code zum Ein und ausblenden kürzer
Private Sub ToggleButton1_Click()
Sheets("Auftragsdaten").visible =Togglebutton1.value
End Sub
Gruss Daniel

Anzeige
AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 09:42:56
Noemi
Super Idee Danke :-)
Es funktionier auch. Aber wäre es möglich dies noch zu erweitern. Sodass der Button rot ist, wenn Das Tabellenblatt ausgeblendet ist und grün wenn es eingeblendet ist :-)?
Gruss
Noemi

AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 10:02:13
Daniel
Hi
klar
Togglebutton1.backcolor = IIf(Togglebutton1.value, vbGreen, vbRed)
die Startfärbung vor dem ersten Klick musst du in den Eigenschaften Einstellen.
Gruss Daniel

Anzeige
AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 10:10:51
Daniel
Hi
klar
Togglebutton1.backcolor = IIf(Togglebutton1.value, vbGreen, vbRed)
die Startfärbung vor dem ersten Klick musst du in den Eigenschaften Einstellen.
Gruss Daniel

AW: Schaltfläche wenn aktiv farbe ändern
23.01.2013 11:55:49
Noemi
Cool genau so habe ich es mir vorgestellt :-)
Vielen Dank hat super geklappt :-D
Gruss
Noemi

Anzeige
AW: mit Farbe dann Einfacher Commandbutton
23.01.2013 10:51:56
Daniel
Hi
wenn der der Togglebutton nicht optisch nicht ausreicht und du unbedingt die Rot/Grün-Färbung haben willst, (beachte die Kollegen mit Rot-Grün-Schwäche), dann ist ein einfacher Commandbutton zum Umschalten besser geeignet:
Private Sub CommandButton1_Click()
With Sheets("Auftragsdaten")
.Visible = Not .Visible
CommandButton1.BackColor = IIf(.Visible, vbGreen, vbRed)
End With
End Sub
damit auch beim Öffnen der Datei die Farben passen, solltest du im Workbook-Open-Event der Mappe folgenden Code einfügen:
Sheets("Tabelle1").Commandbutton1.BackColor = IIf(Sheets("Auftragsdaten").Visible, vbGrenn, vbRed)
gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Schaltflächenfarben in Excel bei Klick ändern


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Tabellenblatt, in dem du die Schaltfläche erstellen möchtest.

  2. Füge einen ToggleButton aus den ActiveX-Steuerelementen hinzu. Du findest diesen in der Entwicklertools-Leiste unter "Einfügen".

  3. Klicke mit der rechten Maustaste auf den ToggleButton und wähle "Eigenschaften".

    • Stelle die Startfarbe auf Rot oder Grün ein, je nach deinem Wunsch.
  4. Füge den folgenden VBA-Code in das Codefenster des ToggleButtons ein, um die Farben bei Klick zu ändern:

    Private Sub ToggleButton1_Click()
       Sheets("Auftragsdaten").Visible = ToggleButton1.Value
       ToggleButton1.BackColor = IIf(ToggleButton1.Value, vbGreen, vbRed)
    End Sub
  5. Füge folgenden Code in das Workbook-Open-Event ein, um die Farben beim Öffnen der Datei zu setzen:

    Private Sub Workbook_Open()
       ToggleButton1.BackColor = IIf(Sheets("Auftragsdaten").Visible, vbGreen, vbRed)
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Der ToggleButton funktioniert nicht richtig.

    • Lösung: Stelle sicher, dass du die Schaltfläche korrekt aus den ActiveX-Steuerelementen eingefügt hast und der Code im richtigen Modul ist.
  • Fehler: Die Farben ändern sich nicht.

    • Lösung: Überprüfe, ob der Code richtig eingegeben wurde und dass du die richtige Syntax verwendet hast. Achte darauf, dass die Sichtbarkeit des Blattes korrekt angesprochen wird.

Alternative Methoden

Wenn du die Schaltfläche farbe ändern mit einem CommandButton bevorzugst, kannst du die folgenden Schritte befolgen:

  1. Füge einen CommandButton aus den ActiveX-Steuerelementen hinzu.

  2. Verwende den folgenden VBA-Code:

    Private Sub CommandButton1_Click()
       With Sheets("Auftragsdaten")
           .Visible = Not .Visible
           CommandButton1.BackColor = IIf(.Visible, vbGreen, vbRed)
       End With
    End Sub
  3. Um die Farben beim Öffnen der Datei zu setzen, füge diesen Code in das Workbook-Open-Event ein:

    Private Sub Workbook_Open()
       CommandButton1.BackColor = IIf(Sheets("Auftragsdaten").Visible, vbGreen, vbRed)
    End Sub

Praktische Beispiele

Wenn du mehrere Tabellenblätter mit unterschiedlichen Schaltflächen hast, kannst du diesen Code für jedes Blatt anpassen. Beispielsweise:

Sub ToggleBlatt()
    If Sheets("Auftragsdaten").Visible Then
        Sheets("Auftragsdaten").Visible = False
        CommandButton1.BackColor = vbRed
    Else
        Sheets("Auftragsdaten").Visible = True
        CommandButton1.BackColor = vbGreen
    End If
End Sub

Tipps für Profis

  • Benutze Farbcodes: Statt vbRed und vbGreen kannst du auch RGB-Farben verwenden, um spezifische Farbtöne zu erreichen.

    ToggleButton1.BackColor = RGB(255, 0, 0) ' Rot
  • Die Sichtbarkeit von Blättern: Überlege, ob du die Sichtbarkeit von mehreren Blättern gleichzeitig steuern möchtest, indem du eine Schleife verwendest.


FAQ: Häufige Fragen

1. Wie kann ich die Schaltflächenfarbe ändern, ohne VBA zu verwenden?
Leider ist die farbliche Anpassung der Schaltflächen in Excel ohne VBA nicht möglich.

2. Was ist der Unterschied zwischen einem ToggleButton und einem CommandButton?
Ein ToggleButton zeigt den Status (ein-/ausgeblendet) an, während ein CommandButton nur einen Befehl ausführt, ohne den Zustand anzuzeigen.

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