In diesem Lernprogramm erfahren Sie, wie Sie Visual Basic for Applications (VBA) verwenden, um Textgröße und -stil in einer Excel-Zelle basierend auf dem Zelleninhalt zu ändern. Dieses Tutorial gilt für Excel 365, 2021, 2019 und 2016.
Vorläufe
Wenn Sie neu in der Excel-VBA-Entwicklung sind, empfehle ich Ihnen, sich vor dem Durcharbeiten des Lernprogramms unsere Excel-VBA-Makro-Grundlage anzusehen.
Bevor Sie mit dem Codieren beginnen, sollten Sie Ihren Entwickler-Tab in Excel in der Multifunktionsleiste aktivieren, da Sie sonst nicht auf Ihren Visual Basic-Editor zugreifen können.
Ändern Sie Ihre Excel-Zellentexteigenschaften mit VBA
Definieren Sie Ihre Tabelle
Wir beginnen mit der Definition einer Excel-Tabelle, die wir als Beispiel verwenden werden. Fühlen Sie sich frei, es zu verwenden, um diesem Tutorial zu folgen.
- Öffnen Sie Microsoft Excel und erstellen Sie eine neue makrofähige Excel-Arbeitsmappe ( .xlsm ) mit dem Namen Excel_Macros.xlsm
- Speichern Sie Ihre Tabelle auf Ihrem lokalen Laufwerk.
- Fahren Sie im Arbeitsblatt Sheet1 fort und fügen Sie die folgende Tabelle hinzu:

- Klicken Sie nun in der Multifunktionsleiste auf Formeln .
- Klicken Sie dann auf Name definieren .
- Definieren Sie einen benannten Bereich, auf den Sie Ihren VBA-Code wie unten gezeigt anwenden, und klicken Sie auf OK .
![Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein? Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein?]()
Verwenden Sie die VBA-Eigenschaft Cell.Font, um Schriftfarbe und -stil zu ändern
- Wechseln Sie zur Registerkarte Entwickler .
- Als nächstes fahren Sie fort und drücken Sie die Visual Basic - Schaltfläche.
- Markieren Sie im Projekt-Explorer auf der linken Seite das Projekt Excel_Macros.xlsm , klicken Sie dann auf Einfügen und wählen Sie Modul aus .
- Ein neues VBA-Modul namens Module1 wird erstellt.
- Fahren Sie fort und fügen Sie den folgenden Code in das neu erstellte Modul ein:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- Klicken Sie in Ihrem Visual Basic-Editor auf die Schaltfläche Speichern .
- Klicken Sie nun auf Ausführen und wählen Sie dann Run Sub/UserForm (oder drücken Sie einfach F5).
- Wechseln Sie zu Ihrem Sheet1- Arbeitsblatt und beachten Sie die Änderungen. Ihren Tabelleneinträgen wurden entsprechend ihrem Text mehrere Farbcodes zugewiesen (mithilfe der RGB-Farbfunktion), außerdem setzen wir den Text fett und vergrößern ihn.
![Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein? Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein?]()
- Wenn Sie Ihren Code nicht gespeichert haben, klicken Sie auf die Schaltfläche Speichern (oder Strg+S) und speichern Sie dann auch Ihre Arbeitsmappe.
Greifen Sie auf Ihr VBA-Makro zu
- Beachten Sie, dass Ihr Code immer verfügbar ist, damit Sie ihn über den Befehl „Makros“ ausführen können, der sich auf der Registerkarte „Ansicht“ befindet (oder alternativ unter „Entwickler | Makros“).
![Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein? Wie stelle ich die Schriftfarbe von Excel-Text mit VBA ein?]()
Bonus: Zellenstil
Excel bietet die Möglichkeit, Zell-„Stile“ zu erstellen. Stile finden Sie im Menüband „Startseite“ > Stile:
![Excel-VBA-Schriftstile]()
Mithilfe von Stilen können Sie die gewünschte Zellformatierung speichern. Weisen Sie diesen Stil dann einer neuen Zelle zu und die gesamte Zellenformatierung wird sofort angewendet. Einschließlich Schriftgröße, Zellenfarbe, Zellenschutzstatus und allem anderen, was im Zellenformatierungsmenü verfügbar ist:
![Zellenformatierungsmenü Excel]()
Persönlich erstelle ich für viele der Modelle, an denen ich arbeite, normalerweise einen „Eingabe“-Zellenstil:
Range("a1").Style = "Input"
Durch die Verwendung von Stilen können Sie auch Zelltypen in Ihrem Arbeitsblatt leicht identifizieren. Das folgende Beispiel durchläuft alle Zellen im Arbeitsblatt und ändert jede Zelle mit Style = „Input“ in „InputLocked“:
Zelle als Bereich dimmen
Für jede Zelle in ActiveSheet.Cells
Wenn Cell.Style = "Input" dann Cell.Style = "InputLocked"
Ende wenn
Nächste Zelle