Farbe des Tabellenreiters auslesen in Excel
Schritt-für-Schritt-Anleitung
Um die Farbe der Tabellenreiter auszulesen und in einer Excel-Tabelle darzustellen, kannst du ein einfaches VBA-Makro verwenden. Folgendes Vorgehen ist notwendig:
-
Öffne die Excel-Datei und drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Sub BlattAlle()
Dim sh As Worksheet
Dim farbe, treffer
Dim Proj As Range
Set Proj = Sheets("Master").Range("A2:A4") ' Hier den Bereich anpassen, in dem die Projekte stehen
For Each sh In ThisWorkbook.Worksheets
treffer = Application.Match(sh.Name, Proj, 0)
If Not IsError(treffer) Then
farbe = sh.Tab.Color
If farbe = False Then
Sheets("Master").Range("B" & treffer + 1) = "n.v."
Else
Sheets("Master").Range("B" & treffer + 1) = farbe
End If
End If
Next
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus: Drücke ALT + F8
, wähle BlattAlle
aus und klicke auf Ausführen
.
Dieses Makro durchläuft alle Tabellenblätter und vergleicht die Namen mit den Einträgen in der "Master"-Tabelle. Die Farbe des Tabellenreiters wird dann in die entsprechende Zelle eingetragen.
Häufige Fehler und Lösungen
- Fehler: "Farbe nicht gesetzt": Dieser Fehler kann auftreten, wenn der Tabellenreiter keine Farbe hat. Stelle sicher, dass die Tabellenreiter korrekt eingefärbt sind.
- Fehler: "n.v.": Dies bedeutet, dass der Tabellenreiter nicht in der Übersicht gefunden wurde. Überprüfe die Namen der Tabellenreiter und die Einträge in der "Master"-Tabelle.
- Punkt für Punkt abarbeiten: Achte darauf, dass der Bereich
Sheets("Master").Range("A2:A4")
an deine spezifischen Bedürfnisse angepasst ist.
Alternative Methoden
Eine einfachere Methode wäre, die Kollegen direkt in der "Master"-Tabelle den Status des Projekts eintragen zu lassen und die Farben automatisch zu setzen. Hier ist ein Beispiel für ein alternatives Makro:
Sub M_snb()
sn = Sheets("master").Cells(1).CurrentRegion
For j = 1 To UBound(sn)
Sheets(sn(j, 1)).Tab.Color = Choose(sn(j, 2), xlRed, xlGreen, xlBlue)
Next
End Sub
Mit diesem Makro kannst du die Farben direkt basierend auf den Statusangaben setzen, wodurch das manuelle Einfärben der Tabellenreiter entfällt.
Praktische Beispiele
Du kannst das oben genannte Makro anpassen, um spezifische Farben für bestimmte Statuswerte zu verwenden:
- Projektstatus "nicht beauftragt": Gelb (RGB: 255, 255, 0)
- Projektstatus "läuft": Grün (RGB: 0, 255, 0)
- Projektstatus "abgeschlossen": Schwarz (RGB: 0, 0, 0)
Falls du die Farbe des Tabellenreiters auslesen und in einer Zelle darstellen möchtest, kannst du den Farbwähler verwenden, um den RGB-Wert zu ermitteln.
Tipps für Profis
- Verwende Kommentare: Kommentiere deinen Code gut, besonders wenn du mit anderen zusammenarbeitest. So verstehst du später schneller, was jeder Abschnitt des Codes bewirken soll.
- Teste deine Makros: Führe deine Makros immer zuerst in einer Kopie deiner Arbeitsmappe aus, um unbeabsichtigte Änderungen zu vermeiden.
-
Nutze Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deine Makros ein, um sie robuster zu machen. Beispiel:
On Error Resume Next
' Dein Code hier
On Error GoTo 0
FAQ: Häufige Fragen
1. Wie kann ich die Farbe des Tabellenreiters manuell ändern?
Du kannst mit der rechten Maustaste auf den Tabellenreiter klicken und "Tabellenblattfarbe" auswählen, um eine neue Farbe zu wählen.
2. Welche Excel-Version wird benötigt?
Das oben genannte VBA-Makro sollte in Excel 2007 und höheren Versionen funktionieren. Stelle sicher, dass du die Makros in deinen Excel-Einstellungen aktiviert hast.
3. Kann ich das Makro anpassen, um mehr Informationen auszulesen?
Ja, du kannst das Makro anpassen, um zusätzliche Informationen wie den Erstellungsdatum des Blattes oder andere Eigenschaften auszulesen.