Neste tutorial, aprenderemos a usar o Visual Basic for Applications (VBA) para modificar o tamanho e o estilo do texto em uma célula do Excel com base no conteúdo da célula. Este tutorial se aplica ao Excel 365, 2021, 2019 e 2016.
Preliminares
Se você é novo no desenvolvimento do Excel VBA, recomendo que antes de passar pelo tutorial você dê uma olhada em nosso primer de macro do Excel VBA.
Antes de começar a codificar, você deve habilitar a guia do desenvolvedor no Excel na Faixa de Opções, caso contrário, você não poderá acessar o Editor do Visual Basic.
Altere suas propriedades de texto de célula do Excel com VBA
Defina sua planilha
Começaremos definindo uma planilha do Excel que usaremos como exemplo. Sinta-se à vontade para usá-lo para acompanhar este tutorial.
- Abra o Microsoft Excel e crie uma nova pasta de trabalho do Excel habilitada para macro ( .xlsm ) chamada Excel_Macros.xlsm
- Salve sua planilha em sua unidade local.
- Na planilha Sheet1 , vá em frente e adicione a tabela abaixo:

- Agora, na Faixa de Opções, clique em Fórmulas .
- Em seguida, clique em Definir nome .
- Defina um intervalo nomeado no qual você aplicará seu código VBA conforme mostrado abaixo e clique em OK .

Use a propriedade Cell.Font VBA para alterar a cor e o estilo da fonte
- Vá para a guia Desenvolvedor .
- Em seguida, vá em frente e aperte o botão Visual Basic .
- No Project Explorer do lado esquerdo , destaque o projeto Excel_Macros.xlsm , em seguida, pressione Inserir e selecione Módulo .
- Um novo módulo VBA chamado Module1 será criado.
- Vá em frente e cole o seguinte código no módulo recém-criado:
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
- Clique no botão Salvar em seu editor Visual Basic.
- Agora aperte Run e então escolha Run Sub/UserForm (ou simplesmente aperte F5).
- Mova para sua planilha Sheet1 e observe as alterações. Suas entradas de tabela receberam vários códigos de cores de acordo com seu texto (usando a função de cor RGB), e também configuramos o texto para negrito e aumentamos seu tamanho.

- Se você não salvou seu código, pressione o botão Salvar (ou Ctrl+S) e salve também sua pasta de trabalho.
Acesse sua macro VBA
- Observe que seu código está sempre disponível para você executar a partir do comando Macros localizado na guia Exibir (ou alternativamente em Desenvolvedor | Macros)

Bônus: estilo de célula
O Excel oferece a capacidade de criar “Estilos” de células. Os estilos podem ser encontrados na Faixa inicial > Estilos:

Os estilos permitem que você salve a formatação de célula desejada. Em seguida, atribua esse estilo a uma nova célula e toda a formatação da célula será aplicada instantaneamente. Incluindo tamanho da fonte, cor da célula, status de proteção da célula e qualquer outra coisa disponível no menu Formatação de célula:

Pessoalmente, para muitos dos modelos em que trabalho, costumo criar um estilo de célula “Entrada”:
Range("a1").Style = "Entrada"
Ao usar estilos, você também pode identificar facilmente os tipos de células em sua planilha. O exemplo abaixo percorrerá todas as células da planilha e alterará qualquer célula com Style = “Input” para “InputLocked”:
Dim Cell como intervalo
Para cada célula em ActiveSheet.Cells
Se Cell.Style = "Entrada" então Cell.Style = "InputLocked"
Fim se
Próxima célula