I denne opplæringen lærer vi hvordan du bruker Visual Basic for Applications (VBA) til å endre tekststørrelse og stil i en Excel-celle basert på celleinnholdet. Denne opplæringen gjelder for Excel 365, 2021, 2019 og 2016.
Innledende
Hvis du er ny på Excel VBA-utvikling, vil jeg anbefale at før du går gjennom veiledningen, ser du på vår Excel VBA-makroprimer.
Før du begynner å kode, bør du aktivere utviklerfanen på Excel i båndet, da du ellers ikke får tilgang til Visual Basic Editor.
Endre Excel-celletekstegenskaper med VBA
Definer regnearket ditt
Vi starter med å definere et Excel-regneark som vi skal bruke som eksempel. Bruk den gjerne til å følge denne veiledningen.
- Åpne Microsoft Excel og lag en ny Macro Enabled Excel Workbook ( .xlsm ) kalt Excel_Macros.xlsm
- Lagre regnearket på din lokale stasjon.
- I Ark1- regnearket, fortsett og legg til tabellen nedenfor:

- Nå, fra båndet, treffer Formler .
- Trykk deretter Definer navn .
- Definer et navngitt område som du vil bruke VBA-koden på som vist nedenfor, og trykk OK .
![Hvordan sette Excel-tekstskriftfarge med VBA? Hvordan sette Excel-tekstskriftfarge med VBA?]()
Bruk Cell.Font VBA-egenskapen for å endre skriftfarge og stil
- Flytt til Utvikler - fanen.
- Deretter går du videre og trykker på Visual Basic - knappen.
- I Prosjektutforsker på venstre side markerer du Excel_Macros.xlsm- prosjektet og trykker deretter på Sett inn og velg Module .
- En ny VBA-modul kalt Module1 vil bli opprettet.
- Gå videre og lim inn følgende kode i den nyopprettede modulen:
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
- Trykk på Lagre - knappen i Visual Basic-redigeringsprogrammet.
- Trykk nå Kjør og velg Kjør Sub/UserForm (eller bare trykk F5).
- Flytt til Ark1- regnearket og legg merke til endringene. Tabelloppføringene dine ble tildelt flere fargekoder i henhold til teksten deres (ved å bruke RGB-fargefunksjonen), og vi satte også teksten til å være fet og øke størrelsen.
![Hvordan sette Excel-tekstskriftfarge med VBA? Hvordan sette Excel-tekstskriftfarge med VBA?]()
- Hvis du ikke har lagret koden, trykker du på Lagre-knappen (eller Ctrl+S), og lagrer deretter arbeidsboken.
Få tilgang til din VBA-makro
- Merk at koden din alltid er tilgjengelig for deg å kjøre fra Makroer-kommandoen i fanen Vis (eller alternativt i Utvikler | Makroer)
![Hvordan sette Excel-tekstskriftfarge med VBA? Hvordan sette Excel-tekstskriftfarge med VBA?]()
Bonus: Cell Style
Excel tilbyr muligheten til å lage celle-"stiler". Du finner stiler i Hjembåndet > Stiler:
![excel vba skriftstiler]()
Stiler lar deg lagre ønsket celleformatering. Deretter tilordner stilen til en ny celle, og all celleformatering brukes umiddelbart. Inkludert skriftstørrelse, cellefarge, cellebeskyttelsesstatus og alt annet tilgjengelig fra celleformateringsmenyen:
![celleformateringsmeny excel]()
Personlig, for mange av modellene jeg jobber med, lager jeg vanligvis en "Input" cellestil:
Range("a1"). Stil = "Input"
Ved å bruke stiler kan du også enkelt identifisere celletyper på regnearket ditt. Eksemplet nedenfor vil gå gjennom alle cellene i regnearket og endre en hvilken som helst celle med Style = "Input" til "InputLocked":
Dim celle som område
For hver celle i ActiveSheet.Cells
Hvis Cell.Style = "Input" deretter Cell.Style = "InputLocked"
Slutt om
Neste celle