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

Forumthread: Schriftfarbe auf "automatisch" umstellen

Schriftfarbe auf "automatisch" umstellen
27.09.2005 09:09:33
Erich
Hallo EXCEL-Freunde,
mit einer UF färbe ich verschiedene Zahlen nach verschiedenen Farben.
Nun fehlt mir die Lösung, wie ich vor Start der Färbung alle Zahlen wieder
entfärben kann?
Code der UF:

Private Sub CommandButton1_Click()
Dim Zelle As Range, lngR As Long, lngC As Long
' von Hajo
Dim RaBereich As Range, RaZelle As Range
'   Bereich der Wirksamkeit
Set RaBereich = Range("a4:J120")
'Set RaZelle.Offset = "Muster"
'    ActiveSheet.Unprotect
For Each RaZelle In RaBereich 'Range '(Target.Address)
'       überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
'           Kreuz entfernen
RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case RaZelle.Value
Case Is = TextBox1.Text
RaZelle.Font.ColorIndex = 3
Case Is = TextBox5.Text
RaZelle.Font.ColorIndex = 5
Case Else
RaZelle.Font.ColorIndex = 0
End Select
End If
Next RaZelle
'    ActiveSheet.Protect
Set RaBereich = Nothing
Calculate
End Sub

Besten Dank für eine Hilfe!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe auf "automatisch" umstellen
27.09.2005 11:10:34
Herbert
hallo Erich,
du brauchst doch nur diese Zeile einfügen:
RaZelle.Font.ColorIndex = 0

Private Sub CommandButton1_Click()
Dim Zelle As Range, lngR As Long, lngC As Long
' von Hajo
Dim RaBereich As Range, RaZelle As Range
'   Bereich der Wirksamkeit
Set RaBereich = Range("a4:J120")
'Set RaZelle.Offset = "Muster"
'    ActiveSheet.Unprotect
For Each RaZelle In RaBereich 'Range '(Target.Address)
'       überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
'           Kreuz entfernen
RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
RaZelle.Font.ColorIndex = 0
Select Case RaZelle.Value
Case Is = TextBox1.Text
RaZelle.Font.ColorIndex = 3
Case Is = TextBox5.Text
RaZelle.Font.ColorIndex = 5
Case Else
RaZelle.Font.ColorIndex = 0
End Select
End If
Next RaZelle
'    ActiveSheet.Protect
Set RaBereich = Nothing
Calculate
End Sub

gruß Herbert
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Schriftfarbe in Excel automatisch zurücksetzen


Schritt-für-Schritt-Anleitung

Um die Schriftfarbe in Excel automatisch zurückzustellen, kannst Du folgende Schritte befolgen:

  1. Öffne die Excel-Datei, in der Du die Schriftfarbe ändern möchtest.
  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Füge den folgenden Code in ein neues Modul ein:
Private Sub CommandButton1_Click()
    Dim RaBereich As Range, RaZelle As Range
    Set RaBereich = Range("A4:J120")

    For Each RaZelle In RaBereich
        If Not Intersect(RaZelle, RaBereich) Is Nothing Then
            RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
            RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
            RaZelle.Font.ColorIndex = 0 ' Schriftfarbe auf "automatisch" setzen
            Select Case RaZelle.Value
                Case Is = TextBox1.Text
                    RaZelle.Font.ColorIndex = 3 ' Beispiel für rot
                Case Is = TextBox5.Text
                    RaZelle.Font.ColorIndex = 5 ' Beispiel für blau
                Case Else
                    RaZelle.Font.ColorIndex = 0 ' Standardfarbe
            End Select
        End If
    Next RaZelle
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Füge einen Button ein, um die Funktion auszuführen. Klicke mit der rechten Maustaste auf den Button und wähle „Makro zuweisen“.
  3. Wähle das Makro CommandButton1_Click aus und klicke auf „OK“.

Jetzt kannst Du die Schriftfarbe in Deinem definierten Bereich automatisch zurücksetzen!


Häufige Fehler und Lösungen

  • Fehler: Schriftfarbe ändert sich nicht.

    • Lösung: Stelle sicher, dass Du den richtigen Bereich (A4:J120) in Deinem Code definiert hast. Überprüfe auch, ob Dein Button korrekt mit dem Makro verknüpft ist.
  • Fehler: Der Button ist nicht sichtbar.

    • Lösung: Überprüfe, dass der Button nicht hinter anderen Objekten oder Zellen verborgen ist.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du die Schriftfarbe auch manuell zurücksetzen:

  1. Markiere den gewünschten Zellbereich.
  2. Klicke im Menü auf "Start".
  3. Wähle unter "Schriftart" die Option für die Schriftfarbe und setze sie auf "Automatisch".

Diese Methode ist jedoch weniger effizient, wenn Du häufig die Schriftfarbe ändern musst.


Praktische Beispiele

Angenommen, Du hast eine Tabelle, in der Du Werte farblich kennzeichnen möchtest. Mit der oben genannten VBA-Lösung kannst Du sicherstellen, dass alle nicht mehr benötigten Farbänderungen zurückgesetzt werden. Wenn Du z.B. die Werte für bestimmte Bedingungen einfärben möchtest, kannst Du dies einfach mit den TextBox-Werten steuern.


Tipps für Profis

  • Nutze die Color-Eigenschaften in VBA, um spezifische Farbwerte zu definieren, statt nur ColorIndex zu verwenden. Zum Beispiel:
RaZelle.Font.Color = RGB(255, 0, 0) ' Rot
  • Speichere Deine Excel-Datei als Makro-fähige Datei (.xlsm), um sicherzustellen, dass Deine VBA-Codes gespeichert werden.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe in Excel für nur bestimmte Zellen zurücksetzen? Du kannst die If-Bedingungen im VBA-Code so anpassen, dass nur spezifische Zellen bearbeitet werden.

2. Funktioniert dieser Code in Excel 2016 und späteren Versionen? Ja, dieser Code funktioniert in Excel 2016 und allen späteren Versionen. Achte darauf, die Makros zu aktivieren.

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