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

Forumthread: Reiter farbig

Reiter farbig
03.06.2009 09:22:06
Sandra
Hallo zusammen,
ich nutze folgendes Makro. Immer wenn Zeile B2 des Tabellenblattes leer ist, wird der Reiter rot.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B2")  "" Then
ActiveWorkbook.Sheets("Ma").Tab.ColorIndex = 3
Else
ActiveWorkbook.Sheets("Ma").Tab.ColorIndex = 15
End If
End Sub


Da die Datei ca. 100 Blätter hat, wäre meine Frage, ob man wirklich immer den Tabellennamen aufführen muss. Kann man das auch allgemein formulierem, damit ich das Makro kopieren kann?
Vielen Dank!
Sandra

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Reiter farbig
03.06.2009 09:31:18
Hajo_Zi
Hallo Sandra,
benutze das analoge Ereignis unter DieseArbeitsmappe. Falls es für alle Tabelen gelten soll und dann ActiveSheet

AW: Reiter farbig
03.06.2009 09:39:28
mumpel
Hallo!
Das folgende Makro in DieseArbeitsmappecolor> der entsprechenden Arbeitsmappe.
Gruß, René
Anzeige
Ich empfehle folgendes Makro :
03.06.2009 16:39:13
NoNet
Hey @alle,
ich empfehle folgendes Makro in das Klassenmodul "DieseArbeitsmappe" zu kopieren :
VBA-Code:
'Makro in Klassenmodul "DieseArbeitsmappe" :
Private Sub Workbook_SheetChange(ByVal Sh As ObjectByVal Target As Range)
 If Range("B2") <> "" Then
        Sh.Tab.ColorIndex = 3       'TAB-Farbe rot
    Else
        Sh.Tab.ColorIndex = xlNone  'TAB-Farbe löschen
    End If
End Sub
Bei einer gruppierten Tabellenblatt-Selektion werden somit bei Eingabe bzw. Löschen der Zelle B2 ALLE markierten Tabellenblätter eingefärbt bzw. entfärbt !
Gruß, NoNet
Danke, und Frage
Sandra

Hallo zusammen,
habe gestern schon geantwortet (meine auch abgedrückt zu haben), aber mein dankeschön ist nicht drin.´
Daher jetzt noch einmal danke für die Hilfe!
@ Rene: Wo ist denn der Unterschied zur Lösung zu "Mumpel" ? Verstehe nur Bahnhof.
VG Sandfra
Ich denke, Du meinst mich !?!
NoNet

Moin Sand(f)ra ;-),
Es besteht KEIN Unterschied zw. Renes und Mumpels Code, da dies die selbe Person ist ;-)
Ich nehme daher an, dass Du den Unterschied zw. meinem Code und Renes Code meinst ?
Es gibt 2 Unterschiede in den Codes :
- in meinem Code wird das Tabellenblatt ROT gefärbt oder die Farbe wieder entfern (=> Standardfarbe)
in Renes Code wird rot gefärbt oder dunkelgrau gefärbt (das stört meine persönliche Ästhetik ;-)
- Wenn Du z.B. "Tabelle1" markiert hast und dann mit gedrückter STRG-Taste auch noch "Tabelle3" markierst (und evtl. noch weitere), hast Du eine sog. "Gruppierung". sobald Du nun in eine Zelle etwas eingibst, überträgt sich diese Eingabe auf alle markierten Tabellenblätter.
In Mumpels Code wird nur das aktuelle Blatt eingefärbt, falls in B2 etwas eingegeben wurde, in meinem Code werden alle markierten Tabellenblätter eingefärbt bzw. entfärbt !
Gruß, NoNet
PS: Die "Gruppierung" kannst Du per Rechtsklick in das Tabellenblatt-Register wieder aufheben !
AW: Ich denke, Du meinst mich !?!
Sandra

Hallo Nonet,
ja ich meinte Dich. :-) War durcheinander gekommen.
Danke für die nette ausführliche Erklärung. Werde es morgen auf der Arbeit auch mal ausprobieren.
Schönen Abend noch!
VG Sandra
Anzeige
Danke, und Frage
03.06.2009 20:18:22
Sandra
Hallo zusammen,
habe gestern schon geantwortet (meine auch abgedrückt zu haben), aber mein dankeschön ist nicht drin.´
Daher jetzt noch einmal danke für die Hilfe!
@ Rene: Wo ist denn der Unterschied zur Lösung zu "Mumpel" ? Verstehe nur Bahnhof.
VG Sandfra
Ich denke, Du meinst mich !?!
04.06.2009 10:30:33
NoNet
Moin Sand(f)ra ;-),
Es besteht KEIN Unterschied zw. Renes und Mumpels Code, da dies die selbe Person ist ;-)
Ich nehme daher an, dass Du den Unterschied zw. meinem Code und Renes Code meinst ?
Es gibt 2 Unterschiede in den Codes :
- in meinem Code wird das Tabellenblatt ROT gefärbt oder die Farbe wieder entfern (=> Standardfarbe)
in Renes Code wird rot gefärbt oder dunkelgrau gefärbt (das stört meine persönliche Ästhetik ;-)
- Wenn Du z.B. "Tabelle1" markiert hast und dann mit gedrückter STRG-Taste auch noch "Tabelle3" markierst (und evtl. noch weitere), hast Du eine sog. "Gruppierung". sobald Du nun in eine Zelle etwas eingibst, überträgt sich diese Eingabe auf alle markierten Tabellenblätter.
In Mumpels Code wird nur das aktuelle Blatt eingefärbt, falls in B2 etwas eingegeben wurde, in meinem Code werden alle markierten Tabellenblätter eingefärbt bzw. entfärbt !
Gruß, NoNet
PS: Die "Gruppierung" kannst Du per Rechtsklick in das Tabellenblatt-Register wieder aufheben !
Anzeige
AW: Ich denke, Du meinst mich !?!
04.06.2009 20:16:38
Sandra
Hallo Nonet,
ja ich meinte Dich. :-) War durcheinander gekommen.
Danke für die nette ausführliche Erklärung. Werde es morgen auf der Arbeit auch mal ausprobieren.
Schönen Abend noch!
VG Sandra
;
Anzeige

Infobox / Tutorial

Reiter in Excel farbig einfärben und verwalten


Schritt-für-Schritt-Anleitung

Um die Reiter in Excel farbig zu markieren, verwendest Du VBA (Visual Basic for Applications). Hier ist eine einfache Anleitung, wie Du das machen kannst:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Projekt-Explorer das entsprechende Arbeitsblatt aus.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Range("B2") <> "" Then
           ActiveWorkbook.Sheets("Ma").Tab.ColorIndex = 3 ' Rot
       Else
           ActiveWorkbook.Sheets("Ma").Tab.ColorIndex = 15 ' Grau
       End If
    End Sub
  4. Um den Code für alle Reiter zu verwenden, ersetze ActiveWorkbook.Sheets("Ma") durch Sh (siehe Beispiel unten).

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
       If Range("B2") <> "" Then
           Sh.Tab.ColorIndex = 3 ' Rot
       Else
           Sh.Tab.ColorIndex = xlNone ' Standardfarbe
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion, indem Du in die Zelle B2 eines beliebigen Blattes schreibst.


Häufige Fehler und Lösungen

  • Fehler: Der Reiter wird nicht eingefärbt.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist und Du den richtigen Tabellennamen verwendest.
  • Fehler: Das Makro funktioniert nur auf einem bestimmten Blatt.

    • Lösung: Verwende den Code für Workbook_SheetChange, um ihn für alle Blätter anzuwenden.

Alternative Methoden

Eine weitere Möglichkeit, die Reiter in Excel farbig zu markieren, ist die Verwendung von bedingter Formatierung. Diese Methode ist jedoch weniger flexibel und funktioniert nur für Zellen und nicht für Reiter.

  1. Markiere die Zellen, für die Du eine Bedingung festlegen möchtest (z. B. B2).
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib die entsprechende Formel ein.

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du die Reiter farbig markieren kannst, wenn Du mehrere Blätter gruppierst:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   If Target.Address = "$B$2" Then
       For Each ws In ThisWorkbook.Worksheets
           If ws.Visible Then
               ws.Tab.ColorIndex = IIf(Target.Value <> "", 3, xlNone)
           End If
       Next ws
   End If
End Sub

Diese Funktion färbt alle sichtbaren Reiter in rot, wenn in B2 etwas eingegeben wird.


Tipps für Profis

  • Nutze ColorIndex für eine schnelle Farbänderung. Hier sind einige nützliche Farbcodes:

    • 3: Rot
    • 15: Grau
    • 6: Gelb
  • Du kannst auch RGB verwenden, um benutzerdefinierte Farben festzulegen. Beispiel:

    Sh.Tab.Color = RGB(255, 0, 0) ' Rot
  • Denke daran, dass das Einfärben der Reiter nur in Excel VBA funktioniert und nicht in anderen Office-Anwendungen.


FAQ: Häufige Fragen

1. Wie kann ich einen Reiter dauerhaft einfärben?
Um einen Reiter dauerhaft farbig zu markieren, kannst Du das oben genannte Makro im entsprechenden Arbeitsblatt oder im Klassenmodul "DieseArbeitsmappe" verwenden.

2. Was passiert, wenn ich das Makro schließe?
Wenn Du das Makro schließt, bleibt die Farbe des Reiters bestehen, solange die Excel-Datei geöffnet ist. Nach dem Schließen wird die Farbe zurückgesetzt, es sei denn, Du hast das Makro erneut ausgeführt.

3. Funktioniert das auch in Excel Online?
Leider funktioniert das Einfärben von Reitern in Excel Online nicht, da VBA nicht unterstützt wird. Du musst die Desktop-Version von Excel verwenden.

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