Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schriftfarbe mit Makro ändern

Schriftfarbe mit Makro ändern
20.06.2020 15:00:33
Makro
Hallo,
ich möchte durch die Aktivierung des "Kontrollkästchen3" in der die Schriftfarbe in ActiveSheet.Range("E11:F40") von schwarz (1) in weiß (2) ändern. Leider bekomme ich das Makro nicht hin...
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe mit Makro ändern
20.06.2020 15:36:46
Hajo_Zi
Range("E11:F40").Font.Color = 16777215

AW: Schriftfarbe mit Makro ändern
20.06.2020 16:42:16
Werner
Hallo Marko,
nimm ein Kontrollkästchen (Checkbox) aus den Active X Steuerelementen und nicht aus den Formularsteuerelementen.
Code ist im Codemodul von Tabelle1
https://www.herber.de/bbs/user/138452.xlsm
Gruß Werner
Anzeige
AW: Schriftfarbe mit Makro ändern
20.06.2020 17:50:45
Makro
Hallo Werner,
vielen Dank für die Erklärung und die Lösung.
Gerne u. Danke für die Rückmeldung. o.w.T.
20.06.2020 18:13:53
Werner
AW: Schriftfarbe mit Makro ändern
20.06.2020 19:04:13
Daniel
Hi
Geht einfacher ohne Code:
Lege für das Kontrollkästchen eine Ausgabezelle fest.
(Über das Kontexmenü - Steuerung)
In diese Zelle (z.B. X1) wird automatisch der Checkboxzustand mit Wahr oder Falsch geschrieben.
Lege dann für den Zellbereich E11:F40 eine Bedingte Formatierung mit der Schriftfarbe weis an und der Formel =$X$1
Gruß Daniel
Anzeige
AW: Schriftfarbe mit Makro ändern
20.06.2020 20:17:05
Marko
Dankeschön 👍
;
Anzeige
Anzeige

Infobox / Tutorial

Schriftfarbe mit Makro ändern in Excel


Schritt-für-Schritt-Anleitung

Um die Schriftfarbe in Excel mithilfe von VBA zu ändern, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Gib den folgenden Code ein:

    Sub SchriftfarbeAendern()
       Dim ws As Worksheet
       Set ws = ActiveSheet
       If ws.OLEObjects("Kontrollkästchen3").Object.Value = True Then
           ws.Range("E11:F40").Font.Color = RGB(255, 255, 255) ' Weiß
       Else
           ws.Range("E11:F40").Font.Color = RGB(0, 0, 0) ' Schwarz
       End If
    End Sub
  4. Verknüpfe das Makro mit dem Kontrollkästchen:

    • Klicke mit der rechten Maustaste auf das Kontrollkästchen und wähle Steuerelement formatieren.
    • Gehe zum Reiter Steuerung und gib den Namen des Makros in das Feld Makro ein.
  5. Teste das Makro:

    • Aktiviere das Kontrollkästchen und überprüfe, ob die Schriftfarbe in E11:F40 sich entsprechend ändert.

Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass das Kontrollkästchen korrekt mit dem Makro verknüpft ist.
  • Fehler: Schriftfarbe ändert sich nicht.

    • Lösung: Überprüfe, ob das Kontrollkästchen aus den ActiveX-Steuerelementen stammt und nicht aus den Formularsteuerelementen.

Alternative Methoden

Eine einfachere Möglichkeit, die Schriftfarbe in Excel automatisch zu ändern, ist die Verwendung von bedingter Formatierung:

  1. Verknüpfe das Kontrollkästchen mit einer Zelle:

    • Wähle das Kontrollkästchen aus, klicke mit der rechten Maustaste und wähle Steuerelement formatieren.
    • Setze die Zellverknüpfung auf eine Zelle wie X1.
  2. Bedingte Formatierung anwenden:

    • Markiere den Bereich E11:F40.
    • Gehe zu Start > Bedingte Formatierung > Neue Regel.
    • Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib die Formel =$X$1=WAHR ein.
    • Setze die Schriftfarbe auf Weiß (oder eine andere gewünschte Farbe).

Praktische Beispiele

Hier ist ein Beispiel für die Verwendung von VBA, um die Schriftfarbe automatisch zu ändern, wenn ein Kontrollkästchen aktiviert wird:

  • Makro zum Ändern der Schriftfarbe:

    Sub SchriftfarbeAendern()
      Dim ws As Worksheet
      Set ws = ActiveSheet
      If ws.OLEObjects("Kontrollkästchen3").Object.Value = True Then
          ws.Range("E11:F40").Font.Color = RGB(255, 255, 255) ' Weiß
      Else
          ws.Range("E11:F40").Font.Color = RGB(0, 0, 0) ' Schwarz
      End If
    End Sub
  • Bedingte Formatierung:

    • Formel: =$X$1=WAHR
    • Schriftfarbe: Weiß

Tipps für Profis

  • Nutze RGB()-Funktionen, um benutzerdefinierte Farben für die Schriftfarbe festzulegen.
  • Experimentiere mit verschiedenen Bedingungen in der bedingten Formatierung, um komplexere Szenarien zu gestalten.
  • Überlege, wie Du die Worksheet_Change-Ereignisse nutzen kannst, um die Schriftfarbe basierend auf anderen Zelländerungen zu ändern.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Schriftfarbe für mehrere Zellen gleichzeitig ändern?
Antwort: Du kannst den Zellbereich in deinem VBA-Code anpassen, z.B. Range("A1:B10").

2. Frage
Funktioniert das auch in Excel Online?
Antwort: VBA-Makros funktionieren nicht in Excel Online, da sie nur in der Desktop-Version von Excel unterstützt werden.

3. Frage
Kann ich die Schriftfarbe automatisch ändern, ohne ein Makro zu verwenden?
Antwort: Ja, du kannst die bedingte Formatierung nutzen, um die Schriftfarbe basierend auf dem Wert einer Zelle zu ändern.

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