En aquest tutorial aprendrem a utilitzar Visual Basic per a aplicacions (VBA) per modificar la mida i l'estil del text en una cel·la d'Excel en funció del contingut de la cel·la. Aquest tutorial s'aplica a Excel 365, 2021, 2019 i 2016.
Preliminars
Si sou nou al desenvolupament d'Excel VBA, us recomanaré que abans de seguir el tutorial consulteu la nostra introducció de macros d'Excel VBA.
Abans de començar a codificar, hauríeu d' habilitar la vostra pestanya de desenvolupador a Excel a la cinta, ja que, en cas contrari, no podreu accedir al vostre Editor de Visual Basic.
Canvieu les propietats del text de la cel·la d'Excel amb VBA
Definiu el vostre full de càlcul
Començarem definint un full de càlcul Excel que utilitzarem com a exemple. No dubteu a utilitzar-lo per seguir aquest tutorial.
- Obriu Microsoft Excel i creeu un nou llibre de treball d'Excel amb macros activades ( .xlsm ) anomenat Excel_Macros.xlsm
- Deseu el vostre full de càlcul a la vostra unitat local.
- Al full de treball Sheet1 , seguiu endavant i afegiu la taula següent:

- Ara, des de la cinta, premeu Fórmules .
- A continuació, premeu Definir nom .
- Definiu un rang amb nom al qual aplicareu el vostre codi VBA tal com es mostra a continuació i premeu D'acord .
![Com configurar el color de la font de text d'Excel amb VBA? Com configurar el color de la font de text d'Excel amb VBA?]()
Utilitzeu la propietat VBA de Cell.Font per canviar el color i l'estil de la font
- Aneu a la pestanya Desenvolupador .
- A continuació, seguiu endavant i premeu el botó Visual Basic .
- A l' Explorador de projectes del costat esquerre , ressalteu el projecte Excel_Macros.xlsm i, a continuació, premeu Insereix i seleccioneu Mòdul .
- Es crearà un mòdul VBA nou anomenat Module1 .
- Avança i enganxa el codi següent al mòdul recent creat:
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
- Premeu el botó Desa al vostre editor de Visual Basic.
- Ara premeu Executar i després seleccioneu Executar sub/Formulari d'usuari (o simplement premeu F5).
- Passeu al vostre full de treball Sheet1 i observeu els canvis. A les teves entrades de taula se'ls va assignar diversos codis de color segons el seu text (utilitzant la funció de color RGB) i també vam establir que el text fos en negreta i n'augmentem la mida.
![Com configurar el color de la font de text d'Excel amb VBA? Com configurar el color de la font de text d'Excel amb VBA?]()
- Si no heu desat el codi, premeu el botó Desa (o Ctrl+S) i deseu també el vostre llibre de treball.
Accediu a la vostra macro VBA
- Tingueu en compte que el vostre codi sempre està disponible per executar-lo des de l'ordre Macros que es troba a la pestanya Visualització (o alternativament a Desenvolupador | Macros)
![Com configurar el color de la font de text d'Excel amb VBA? Com configurar el color de la font de text d'Excel amb VBA?]()
Bonificació: estil cel·lular
Excel ofereix la possibilitat de crear "Estils" de cel·la. Els estils es poden trobar a la Cinta d'inici > Estils:
![estils de lletra excel vba]()
Els estils us permeten desar el format de cel·la que vulgueu. A continuació, assigneu aquest estil a una nova cel·la i tot el format de cel·la s'aplicarà a l'instant. Incloent la mida de la lletra, el color de la cel·la, l'estat de les proteccions de la cel·la i qualsevol altra cosa disponible al menú Format de cel·la:
![menú de format de cel·les excel]()
Personalment, per a molts dels models en els quals treballo, acostumo a crear un estil de cel·la "Entrada":
Interval("a1").Estil = "Entrada"
Mitjançant l'ús d'estils, també podeu identificar fàcilment els tipus de cel·les al vostre full de treball. L'exemple següent recorrerà totes les cel·les del full de treball i canviarà qualsevol cel·la amb Style = "Input" a "InputLocked":
Atenuar la cel·la com a rang
Per a cada cel·la a ActiveSheet.Cells
Si Cell.Style = "Entrada" llavors Cell.Style = "InputLocked"
Acaba si
Cel·la següent