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

Forumthread: Registerfarbe bedingt durch Zelleneingabe ändern

Registerfarbe bedingt durch Zelleneingabe ändern
Lars
Hallo zusammen,
ich habe mal wieder ein Frage, wie lautet der VBA_Code wenn ich abhängig vom Text in einer Zelle abhängig die Registerfarbe ändern möchte.
In Zelle K14 kann per drop-down verschiedene Auswahlmöglichkeiten getroffen werden, entsprechend der Auswahl soll sich die Registerblattfarbe ändern, habe Beispieldateidrangehängt. Die Formel soll aber auch funktionieren wenn ich das Tabellenblatt dupliziere.
Vielen Dank
Lars
https://www.herber.de/bbs/user/76979.xls
Anzeige
AW: Registerfarbe bedingt durch Zelleneingabe ändern
13.10.2011 09:14:54
Dieter(Drummer)
Hi Lars,
Beverly hat dir doch gestern eine Lösung - VBA Code - geliefert, die auch prima funktioniert!
Gruß
Dieter
AW: Registerfarbe bedingt durch Zelleneingabe ändern
13.10.2011 09:18:06
Lars
tja...danke für die Info ich sehe die Antwort bei mir nur nicht ;-( irgendwas stimmt bei mir anscheinend nicht....
lars
AW: Registerfarbe bedingt durch Zelleneingabe ändern
13.10.2011 09:20:37
Lars
Danke jetzt zeigt er sie mir an :-)
Anzeige
AW: MsgBox Text? Public Function
13.10.2011 09:36:37
Dieter(Drummer)
Hi Lars,
prima, dass Du es gefunden hast.
Frage an dich: Wo hast Du das hingelegt "

Public Function MeineMsgBox(Text As String)
MsgBox Text
End Function
"
Es interessiert mich, wo Du den Text; "Bitte noch das ursprüngliche Beginndatum ..." hingelegt hast.
Gruß
Dieter(Drummer)
Anzeige
AW: MsgBox Text? Public Function
13.10.2011 09:39:32
Lars
Habe ich in Feld L16 mit einer Wenn Funktion hinterlegt
Gruß
AW: Danke Lars für Anwort ...
13.10.2011 09:44:58
Dieter(Drummer)
... ist eine gute Lösung.
Habe wieder etwas dazu gelernt und der Tag war nicht umsonst!
Gruß
Dieter(Drummer)
AW: Danke Lars für Anwort ...
13.10.2011 09:46:18
Lars
war die einzige idee die ich hatte, nutze das noch an mehreren Stellen :-)
Anzeige
AW: Danke Lars für Anwort ...
13.10.2011 11:26:12
Lars

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$14" Then
If Target = "abgeschlossen" Then
ActiveSheet.Tab.Color = RGB(0, 255, 0)
ElseIf Target = "zurückgestellt" Then
ActiveSheet.Tab.Color = RGB(153, 204, 255)
ElseIf Target = "in Planung" Then
ActiveSheet.Tab.Color = RGB(204, 255, 204)
Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End If
End If
If Target.Address = "$o$20" Then
If Target = "n" Then
ActiveSheet.Tab.Color = RGB(255, 0, 0)
Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End If
End If
End Sub

Hallo habe noch mal ne kurze Frage, irgendwie habe ich einen Fehler bei der zweiten Bedingung gemacht kann mir jemand helfen :-) er setzt das registerblatt nicht auf "rot" wenn in O20 ein n steht warum was mache ich falsch ?
Danke
Anzeige
"o" ->"O"
13.10.2011 11:40:04
Matthias
Hallo

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$14" Then
If Target = "abgeschlossen" Then
ActiveSheet.Tab.Color = RGB(0, 255, 0)
ElseIf Target = "zurückgestellt" Then
ActiveSheet.Tab.Color = RGB(153, 204, 255)
ElseIf Target = "in Planung" Then
ActiveSheet.Tab.Color = RGB(204, 255, 204)
Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End If
End If
If Target.Address = "$O$20" Then
If Target = "n" Then
ActiveSheet.Tab.Color = RGB(255, 0, 0)
Else
ActiveSheet.Tab.Color = RGB(204, 204, 204)
End If
End If
End Sub



Ich habe nur aus "o" ein "O" gemacht.
und schwupps, schon gings.
Gruß Matthias
Anzeige
AW: "o" ->"O"
13.10.2011 11:46:38
Lars
hm bei mir tut sich gar nix....... der färbt das registerblatt bei n nicht rot, noch ne idee vielleicht ?
danke dir
versuchs mal in meiner Datei ...
13.10.2011 12:34:22
Matthias
Hallo
Bei mir klappt es, mehr kann ich leider nicht für Dich tun - sorry.
Versuchs mal in dieser Datei:
https://www.herber.de/bbs/user/76989.xls
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Registerfarbe abhängig von Zelleneingabe ändern


Schritt-für-Schritt-Anleitung

Um die Registerfarbe in Excel abhängig von einer Zelleneingabe zu ändern, kannst Du den folgenden VBA-Code verwenden. Dieser Code muss im entsprechenden Excel-Arbeitsblatt eingefügt werden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projekt-Explorer das Arbeitsblatt aus, in dem Du die Farbe ändern möchtest.
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$K$14" Then
        If Target = "abgeschlossen" Then
            ActiveSheet.Tab.Color = RGB(0, 255, 0) 'Grün
        ElseIf Target = "zurückgestellt" Then
            ActiveSheet.Tab.Color = RGB(153, 204, 255) 'Blau
        ElseIf Target = "in Planung" Then
            ActiveSheet.Tab.Color = RGB(204, 255, 204) 'Hellgrün
        Else
            ActiveSheet.Tab.Color = RGB(204, 204, 204) 'Grau
        End If
    End If
    If Target.Address = "$O$20" Then
        If Target = "n" Then
            ActiveSheet.Tab.Color = RGB(255, 0, 0) 'Rot
        Else
            ActiveSheet.Tab.Color = RGB(204, 204, 204) 'Grau
        End If
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Blatt.
  2. Teste die Funktion, indem Du die Werte in Zelle K14 oder O20 änderst.

Häufige Fehler und Lösungen

  • Fehler: Die Registerfarbe lässt sich nicht ändern.

    • Stelle sicher, dass Du den Code im richtigen Arbeitsblatt eingefügt hast. Der VBA-Code muss in das spezifische Blatt-Modul und nicht in ein allgemeines Modul eingefügt werden.
  • Fehler: Der Code funktioniert nicht bei duplizierten Blättern.

    • Der Code sollte in jedem neuen Blatt neu eingefügt werden. Du kannst auch eine Funktion schreiben, die die Formatierung automatisch anwendet, wenn das Blatt dupliziert wird.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die bedingte Formatierung nutzen, um die Blattfarbe visuell zu ändern. Allerdings ist das direkte Ändern der Registerfarbe mit dieser Methode nicht möglich.

  1. Markiere die Zelle, die Du für die bedingte Formatierung verwenden möchtest.
  2. Gehe zu "Start" > "Bedingte Formatierung" > "Regeln verwalten".
  3. Erstelle neue Regeln basierend auf den gewünschten Bedingungen.

Praktische Beispiele

  • Wenn Du den Text „abgeschlossen“ in Zelle K14 eingibst, wird die Registerfarbe grün.
  • Wenn Du „n“ in Zelle O20 eingibst, wird die Registerfarbe rot.

Diese Beispiele helfen Dir, die Registerfarbe abhängig von Zelleneingaben zu ändern und die Registerkarte automatisch zu formatieren.


Tipps für Profis

  • Nutze benutzerdefinierte Farben mit RGB für eine größere Auswahl an Farben.
  • Füge weitere Bedingungen hinzu, um die Registerfarbe noch vielfältiger zu gestalten.
  • Speichere Deine Excel-Datei im .xlsm Format, um sicherzustellen, dass die Makros aktiv bleiben.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe der Registerkarte ändern? Um die Schriftfarbe der Registerkarte zu ändern, gibt es keine direkte VBA-Funktion. Du kannst jedoch die Registerfarbe ändern, um einen visuellen Kontrast zu erzielen.

2. Warum funktioniert der Code nicht, wenn ich das Blatt dupliziere? Der VBA-Code muss in das neue Blatt-Modul eingefügt werden, da duplizierte Blätter die ursprünglichen Makros nicht automatisch übernehmen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige