I denne øvelse lærer vi, hvordan du bruger Visual Basic for Applications (VBA) til at ændre tekststørrelse og stil i en Excel-celle baseret på celleindholdet. Denne vejledning gælder for Excel 365, 2021, 2019 og 2016.
Indledende
Hvis du er ny til Excel VBA-udvikling, vil jeg anbefale, at du, før du går gennem selvstudiet, ser på vores Excel VBA-makroprimer.
Før du begynder at kode, bør du aktivere din udviklerfane på Excel i båndet, da du ellers ikke vil kunne få adgang til din Visual Basic Editor.
Skift egenskaber for din Excel-celletekst med VBA
Definer dit regneark
Vi starter med at definere et Excel-regneark, som vi vil bruge som eksempel. Du er velkommen til at bruge den til at følge denne tutorial.
- Åbn Microsoft Excel og opret en ny Macro Enabled Excel Workbook ( .xlsm ) ved navn Excel_Macros.xlsm
- Gem dit regneark på dit lokale drev.
- I Sheet1- regnearket skal du gå videre og tilføje tabellen nedenfor:

- Nu, fra båndet, hit Formler .
- Tryk derefter på Definer navn .
- Definer et navngivet område, hvor du vil anvende din VBA-kode som vist nedenfor, og tryk på OK .
![Hvordan indstilles Excel-tekstskriftfarve med VBA? Hvordan indstilles Excel-tekstskriftfarve med VBA?]()
Brug Cell.Font VBA-egenskaben til at ændre skriftfarve og stil
- Flyt til fanen Udvikler .
- Næste gå videre og tryk på Visual Basic- knappen.
- Fremhæv Excel_Macros.xlsm- projektet i venstre side af Project Explorer , og tryk derefter på Indsæt og vælg Modul .
- Et nyt VBA-modul ved navn Module1 vil blive oprettet.
- Gå videre og indsæt følgende kode i det nyoprettede modul:
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
- Tryk på knappen Gem i din Visual Basic-editor.
- Tryk nu Kør og vælg Kør Sub/UserForm (eller tryk blot F5).
- Flyt til dit Ark1- regneark og bemærk ændringerne. Dine tabelposter blev tildelt flere farvekoder i henhold til deres tekst (ved hjælp af RGB-farvefunktionen), og vi indstillede også teksten til at være fed og øge dens størrelse.
![Hvordan indstilles Excel-tekstskriftfarve med VBA? Hvordan indstilles Excel-tekstskriftfarve med VBA?]()
- Hvis du ikke har gemt din kode, skal du trykke på knappen Gem (eller Ctrl+S), og gem derefter også din projektmappe.
Få adgang til din VBA-makro
- Bemærk, at din kode altid er tilgængelig, så du kan køre fra kommandoen Makroer på fanen Vis (eller alternativt i Udvikler | Makroer)
![Hvordan indstilles Excel-tekstskriftfarve med VBA? Hvordan indstilles Excel-tekstskriftfarve med VBA?]()
Bonus: Cellestil
Excel giver mulighed for at oprette celle-"Styles". Stilarter kan findes i Hjembåndet > Stilarter:
![excel vba skrifttypestile]()
Styles giver dig mulighed for at gemme din ønskede celleformatering. Tildel derefter denne typografi til en ny celle, og al celleformatering anvendes øjeblikkeligt. Herunder skriftstørrelse, cellefarve, cellebeskyttelsesstatus og alt andet tilgængeligt fra menuen Celleformatering:
![celleformateringsmenu excel]()
Personligt, for mange af de modeller, som jeg arbejder på, opretter jeg normalt en "Input" cellestil:
Range("a1"). Stil = "Input"
Ved at bruge typografier kan du også nemt identificere celletyper på dit regneark. Eksemplet nedenfor vil gennemgå alle cellerne i regnearket og ændre enhver celle med Style = "Input" til "InputLocked":
Dæmp celle som rækkevidde
For hver celle i ActiveSheet.Cells
Hvis Cell.Style = "Input" derefter Cell.Style = "InputLocked"
Afslut Hvis
Næste celle