Entender como o Excel VBA 365 automatiza tarefas por meio da criação e edição de macro é essencial para aumentar a produtividade, especialmente para usuários que lidam frequentemente com grandes volumes de dados ou tarefas repetitivas. Macro registrar atividades em planilhas reexecutáveis, economizando tempo e esforço.
Com Visual Basic for Applications (VBA), o Excel se torna uma plataforma para criar soluções automatizadas para problemas complexos. Macro pode automatizar o processamento de dados, gerar relatórios instantâneos e integrar o Excel a outros aplicativos.
Essa automação é especialmente benéfica em trabalhos que exigem alta eficiência, como análise de dados e contabilidade. Além de reduzir o erro humano, o macro permite que os usuários se concentrem em aspectos mais estratégicos do trabalho. Portanto, aprender a criar e editar macro em Excel VBA 365 é valioso para profissionais de diversas áreas.
Como criar macros no Excel VBA 365
1. Ativando o ambiente do desenvolvedor
A primeira etapa para criar um macro é certificar-se de que a guia Developer já esteja ativa no Excel. Essa guia fornece uma variedade de ferramentas para criar e gerenciar macro.
- Para ativar a guia Developer, clique em File na parte superior e selecione Options.
- Na janela Excel Options, selecione Customize Ribbon no lado esquerdo.
- Marque a opção Developer no painel direito e clique em OK. A guia Developer agora aparecerá na faixa de opções do Excel.
Uma vez ativado, você pode começar a criar macro de várias maneiras, incluindo gravação macro e acesso a Visual Basic Editor (VBE).
2. Gravar macros
Uma das maneiras mais fáceis de criar um macro é usar o recurso de gravação. Esse recurso permite registrar uma série de ações realizadas no Excel.
- Para começar, clique no botão Record Macro na guia Developer.
- Uma janela de diálogo aparecerá, solicitando que você forneça o macro a ser criado. Por exemplo, você pode chamá-lo de ‘Test_Macro’. Certifique-se de que o nome siga macro regras de nomenclatura.
- Selecione um local de armazenamento macro: na pasta de trabalho atual ou Personal Macro Workbook (para que possa ser acessado em todas as pastas de trabalho).
3. Nomenclatura de macro
Ao dar um nome a macro, existem algumas regras importantes a serem lembradas:
- O nome macro deve começar com uma letra ou sinal sublinhado (‘_’).
- Os nomes não devem conter espaços entre os caracteres.
- The macro nome não deve ser igual a outros nomes que já existem na mesma pasta de trabalho.
4. Alterando macros
Depois de criar seu macro, você pode alterá-lo acessando Visual Basic Editor (VBE). Aqui, você pode exibir macro no código e fazer alterações conforme necessário.
- Acesse Visual Basic Editor clicando no botão Visual Basic na guia Developer.
- Na janela do VBE, selecione o macro que você acabou de criar. O código macro é escrito como um procedimento VB (Visual Basic) que começa com a palavra-chave ‘Sub’ e termina com ‘End Sub’.
- Você pode adicionar ou alterar o código VBA para melhorar macro funcionalidade.

Criando macros do zero
Aqui está um exemplo de criação de um macro do zero que registra etapas simples em uma planilha, edita-as adicionando formatação de célula e exibe os resultados dos cálculos salariais usando Message Box.
1. Gravação de macros
Nesta fase, registraremos as etapas para inserir os números e calcular o salário automaticamente:
- Insira o número do salário na célula A1.
- Insira o número de horas na célula A2.
- Adicione os resultados na célula A3 para calcular o salário.
2. Edite macros
Depois de gravar essas etapas básicas, você pode abrir Visual Basic Editor (VBE) e adicionar algum código a:
- Formate um intervalo de células com propriedades font e interior (por exemplo, coloque o texto em negrito e dê a ele uma cor de plano de fundo).
- Adicionado um Message Box para exibir os resultados do cálculo da folha de pagamento.
Exemplo de macro simples: cálculo de salário e formatação de células.
Sub Calculate_Salary()
Dim wage As Single
Dim hours As Single
Dim salary As Single
wage = Range(“A1”).Value
hours = Range(“A2”).Value
salary = wage * hours
MsgBox “Your salary is “ & salary, vbInformation, “Salary Calculation”
Range(“A3”).Value = salary
With Range(“A1:A3”)
.Font.Bold = True
.Interior.Color = RGB(144, 238, 144) ' Latar belakang hijau muda
End With
End SubExplicação do código:
- Dim wage As Single: Esta é uma declaração de variável wage (salário) com tipo de dados Single.
- Dim hours As Single: Esta é uma declaração de variável hours (horário de trabalho) com um tipo de dados Single.
- salary = wage * hours: Aqui, o salário total é calculado multiplicando os salários e as horas trabalhadas.
- MsgBox: Os resultados do cálculo do salário serão exibidos através da caixa de mensagem (Message Box).
- Range(“A3”).Value = salary: Os resultados do cálculo do salário são armazenados na célula A3.
- With Range(“A1:A3”): As células A1 a A3 serão formatadas com texto em negrito e um fundo verde claro (RGB(1444, 238, 144)).
Resultados esperados:
- Você inserirá o valor dos salários em A1 e horas trabalhadas em A2.
- Quando o macro for executado, o salário será calculado automaticamente e exibido na célula A3.
- Os resultados salariais também aparecerão no Message Box.
- As células A1 a A3 serão formatadas com texto em negrito e uma cor de fundo verde claro.
Usando For…Next Loop em macros
Aproveitando a estrutura For…Next Loop, você pode automatizar o preenchimento de células em planilhas do Excel com dados específicos. For…Next Loop permite iterar por linhas ou colunas dentro de um intervalo especificado, tornando-o muito eficaz para repetir tarefas no preenchimento de dados.
Exemplo: preencher um intervalo de células com resultados de soma de linhas e colunas
Aqui está um exemplo de um macro que utiliza For…Next Loop para preencher o intervalo de células A1:E10 com o valor gerado pela soma entre o número da linha e o número da coluna.
Sub Fill_Cells_With_Loop()
Dim i As Integer, j As Integer
For i = 1 To 10
For j = 1 To 5
Cells(i, j).Value = i + j
Next j
Next i
With Range(“A1:E10”)
.Font.Bold = True
.Interior.Color = RGB(224, 255, 255)
End With
End SubExplicação do código:
- For i = 1 To 10: o primeiro loop para iteração por meio de linhas, de 1 a 10 (linhas 1 a 10).
- For j = 1 To 5: O segundo loop para iterações por meio de colunas, de 1 a 5 (colunas A a E).
- Cells(i, j).Value = i + j: Preencha a célula com o resultado da soma entre o número da linha (i) e o número da coluna (j).
- With Range(“A1:E10”): Formate as células A1 a E10 com texto em negrito e fundo azul claro.
Usando a função Chr() para criar caracteres
A função Chr() no VBA funciona para gerar caracteres que correspondem a ASCI codes. ASCII códigos são números que representam caracteres em sistemas de computador. Por exemplo, o código 65 indica a letra A, enquanto o código 66 indica a letra B e assim por diante.
Você pode aproveitar a função Chr() para criar macros que preenchem células com caracteres gerados a partir de códigos ASCII, aleatoriamente ou especificamente.
Exemplo: preenchendo um intervalo de células com caracteres aleatórios usando a função Chr()
Sub Fill_Cells_With_Random_Characters()
Dim i As Integer, j As Integer
Dim asciiCode As Integer
For i = 1 To 5
For j = 1 To 5
asciiCode = Int(26 * Rnd) + 65
Cells(i, j).Value = Chr(asciiCode)
Next j
Next i
With Range(“A1:E5”)
.Font.Bold = True
.Interior.Color = RGB(255, 228, 196)
End With
End SubExplicação do código:
- Dim asciiCode As Integer: Declara uma variável para armazenar o código ASCII.
- Int(26 * Rnd) + 65: Gera um número aleatório entre 65 e 90. O código 65 é A em ASCII e o código 90 é Z.
- Rnd gera um número aleatório entre 0 e 1.
- 26 * Rnd gera um número entre 0 e 25 e, em seguida, adiciona 65 para obter o código ASCII entre 65(A) e 90(Z).
- Cells(i, j).Value = Chr(asciiCode): Preenche uma célula com caracteres gerados por Chr() com base no código ASCII.
- With Range(“A1:E5”): Formata um intervalo de células A1:E5 com texto em negrito e um plano de fundo cor de pêssego (RGB(255, 228, 196)).
Conclusão
Ao utilizar Excel VBA 365, você pode melhorar a eficiência do seu trabalho no Excel. Aprender sobre macro criação e edição fornecerá uma habilidade inestimável no mundo moderno do trabalho, onde a automação é a chave para o sucesso.


