In questo tutorial impareremo come utilizzare Visual Basic, Applications Edition (VBA) per modificare le dimensioni e lo stile del testo in una cella di Excel in base al contenuto della cella. Questo tutorial si applica a Excel 365, 2021, 2019 e 2016.
Preliminari
Se non conosci lo sviluppo di VBA in Excel, ti consiglio che prima di passare attraverso il tutorial esaminerai il nostro primer per macro VBA di Excel.
Prima di iniziare a scrivere codice, dovresti abilitare la tua scheda sviluppatore su Excel nella barra multifunzione, altrimenti non sarai in grado di accedere al tuo Visual Basic Editor.
Modifica le proprietà del testo della cella di Excel con VBA
Definisci il tuo foglio di calcolo
Inizieremo definendo un foglio di calcolo Excel che useremo come esempio. Sentiti libero di usarlo per seguire questo tutorial.
- Aprire Microsoft Excel e creare una nuova cartella di lavoro Excel abilitata per macro ( .xlsm ) denominata Excel_Macros.xlsm
- Salva il tuo foglio di calcolo nell'unità locale.
- Nel foglio di lavoro Sheet1 , vai avanti e aggiungi la tabella seguente:

- Ora, dalla barra multifunzione, premi Formule .
- Quindi premi Definisci nome .
- Definisci un intervallo denominato su cui applicherai il tuo codice VBA come mostrato di seguito e premi OK .
![Come impostare il colore del carattere del testo di Excel con VBA? Come impostare il colore del carattere del testo di Excel con VBA?]()
Usa la proprietà VBA Cell.Font per cambiare il colore e lo stile del carattere
- Passa alla scheda Sviluppatore .
- Quindi vai avanti e premi il pulsante Visual Basic .
- In Esplora progetti sul lato sinistro , evidenziare il progetto Excel_Macros.xlsm , quindi premere Inserisci e selezionare Modulo .
- Verrà creato un nuovo modulo VBA denominato Module1 .
- Vai avanti e incolla il seguente codice nel modulo appena creato:
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
- Premi il pulsante Salva nel tuo editor di Visual Basic.
- Ora premi Esegui e quindi seleziona Esegui Sub/UserForm (o semplicemente premi F5).
- Passa al foglio di lavoro di Sheet1 e nota le modifiche. Alle voci della tabella sono stati assegnati più codici colore in base al loro testo (utilizzando la funzione colore RGB) e abbiamo anche impostato il testo in grassetto e aumentarne le dimensioni.
![Come impostare il colore del carattere del testo di Excel con VBA? Come impostare il colore del carattere del testo di Excel con VBA?]()
- Se non hai salvato il codice, premi il pulsante Salva (o Ctrl+S), quindi salva anche la cartella di lavoro.
Accedi alla tua macro VBA
- Nota che il tuo codice è sempre disponibile per l'esecuzione dal comando Macro che si trova nella scheda Visualizza (o in alternativa in Sviluppatore | Macro)
![Come impostare il colore del carattere del testo di Excel con VBA? Come impostare il colore del carattere del testo di Excel con VBA?]()
Bonus: stile cella
Excel offre la possibilità di creare “Stili” di cella. Gli stili sono disponibili nella barra multifunzione Home > Stili:
![Stili di carattere Excel VBA]()
Gli stili ti consentono di salvare la formattazione della cella desiderata. Quindi assegna quello stile a una nuova cella e tutta la formattazione della cella verrà applicata immediatamente. Incluse dimensioni del carattere, colore della cella, stato delle protezioni della cella e qualsiasi altra cosa disponibile nel menu Formattazione cella:
![Menu di formattazione delle celle Excel]()
Personalmente, per molti dei modelli su cui lavoro, di solito creo uno stile di cella "Input":
Intervallo("a1").Stile = "Input"
Utilizzando gli stili puoi anche identificare facilmente i tipi di celle nel tuo foglio di lavoro. L'esempio seguente scorrerà tutte le celle del foglio di lavoro e modificherà qualsiasi cella con Style = "Input" in "InputLocked":
Dim Cell come intervallo
Per ogni cella in ActiveSheet.Cells
Se Cell.Style = "Input" quindi Cell.Style = "InputLocked"
Finisci se
Cella successiva