Para aproveitar toda a potência que o Excel possui, é indispensável a utilização de macros. Macro poder ser definida como uma serie de comandos(em sequencia), que podem ser cliques, toques no teclado ou até mesmo pequenas linhas de códigos com funções mais avançadas. Essas sequencias são gravadas em um modulo VBA e são executados sempre que for necessário.
O principal beneficio de uma macro é o ganho de tempo que ela proporciona, afinal ela automatiza algo que teria que ser feito de forma manual em diversas etapas. Muito utilizadas quando é preciso executar varias vezes o mesmo conjunto de tarefas.
Uma macro pode ser criada de duas formas distintas:
- Usando o gravador de Macros: Nesse procedimento o Excel armazena cada ação que fará parte da Macro, depois o gravador de macro converte essas ações em comandos VBA(Visual Basic for Applications).
- Usando VBA: Se você entende um pouco de programação ou mesmo domina a linguagem VBA, pode criar suas macros por conta própria. Para isso basta utilizar o editor de VBA presente nas versões mais recentes do Microsoft Excel.
Como dito anteriormente é possível realizar uma infinidade de operações com as macros, no entanto existem algumas que se destacam das demais por serem mais utilizadas no dia-a-dia. Veja 10 macros que vão ajudar você com as suas planilhas.
1) Mostrando uma mensagem
Basta inserir na sua macro o comando MsgBox. Veja como no exemplo abaixo:
MsgBox “texto da mensagem”
Essa linha de código pode ser inserida em qualquer macro, muito útil nos casos onde se faz necessário emitir avisos ao usuário da planilha que está rodando a macro.
2) Execute uma macro quando abrir a planilha
Existem casos onde a macro precisa ser aberta juntamente com a planilha. Nesse caso basta montar uma macro com o parâmetro Auto_Open(). Confira no exemplo
Sub Auto_Open()
MsgBox “Para saber tudo sobre Excel, acesse www.https://luz.vc/”
End Sub
No exemplo acima, assim que a planilha for aberta uma mensagem será exibida. Não se esqueça de habilitar as macros no seu Excel.
3) Planilha com data e hora atual
É possível escrever a data e a hora atual na planilha. O exemplo a seguir insere esses dados na célula A1, veja.
Sub escreverDataEHora()
Range(“A1”) = Now
End Sub
4) Execute a mesma ação em cada célula selecionada
Em algum momento você precisara executar uma ação nas células que foram selecionadas pelo usuário. Para isso crie uma macro igual o exemplo abaixo.
Sub fazerAlgoACadaCelula()
For Each cell In Selection.Cells
MsgBox cell
Next
End Sub
5) A mesma coisa em todas as células selecionadas
Você pode fazer a mesma macro anterior mas de forma um pouco mais abrangente, ou seja a ação não será realizada em etapas. O exemplo abaixo escreve “Olá” em todas as células.
Sub fazerAlgoATodasAsCelulas()
Selection.Cells.Value = “Olá”
End Sub
Você pode fazer uma infinidade de inserções no código, como por exemplo mudar a cor do texto, tamanho da fonte, tipo de fonte e muito mais.
6) Identificando formulas dentro de cada celula
É altamente recomendável verificar se existe algo dentro da célula, sempre que uma modificação na célula seja necessário. Nesse exemplo verificaremos se existe alguma formula na célula em questão.
Sub verificarFormula()
If Range(“A1”).HasFormula = True Then
MsgBox “Existe Formula”
Else
MsgBox “Não é uma Formula”
End If
End Sub
7) Mudar cor da célula ao passar o mouse
Você também pode querer proporcionar mais interatividade com os usuários da planilha. O ideal é que a interatividade tenha o objetivo de facilitar o serviço e visualização das informações. A macro abaixo é um exemplo de como você pode fazer com que sua tabela apresente células com o mesmo tom de cor sempre que o mouse passar por um dado que correlacione essas células.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LinhaInicio As Range
Dim Linha As Range
Dim Linha2 As Long
Cells.Interior.ColorIndex = xlNone
Linha2 = Target.Row
Set LinhaInicio = Range(“A” & Linha2, Target)
‘Pinta da celula selecionada até a coluna 5
Set Linha = Range(Cells(Target.Row, 1), Cells(Target.Row, 5))
With Linha
.Interior.ColorIndex = 12
End With
End Sub
8) Mudando a cor do interior e das fontes
Esta macro , altera as cores no interior e na fonte das células, de acordo com a letra das células.
Sub Colorir_fonte_interior_letra()
For N = 1 To Range(“O65536”).End(xlUp).Row
Select Case Range(“O” & N)
Case “A”
Range(“O” & N).Interior.ColorIndex = 3
Range(“O” & N).Font.ColorIndex = 1
Case “B”
Range(“O” & N).Interior.ColorIndex = 4
Range(“O” & N).Font.ColorIndex = 2
Case “C”
Range(“O” & N).Interior.ColorIndex = 5
Range(“O” & N).Font.ColorIndex = 3
Case “D”
Range(“O” & N).Interior.ColorIndex = 7
Range(“O” & N).Font.ColorIndex = 12
Case Else
Range(“O” & N).Interior.ColorIndex = 6
Range(“O” & N).Font.ColorIndex = 4
End Select
Next N
End Sub
9) Macro que fala
Já pensou que interessante ter uma planilha que fala os dados contidos nela, é exatamente isso que essa macro faz. No exemplo abaixo a planilha possuía palavras que iam da célula A1 até a A5, mas você pode escolher o intervalo que achar mais conveniente, para isso basta alterar o A1:A5 presentes no código abaixo, pelo intervalo que preferir.
Sub ExcelFalando()
Range(“A1:A5”).Speak
End Sub
10) Protegendo planilhas com login e senha
Se você leu até aqui, nada mais justo do que ser surpreendido com mais um item nessa lista. E, trata-se de uma macro que você pode ter acesso agora mesmo. Muitas pessoas têm problemas na hora de restringir dados em uma planilha na hora de compartilha-la com parceiros, colaboradores, etc.
Por isso, criamos uma macro pronta para restringir abas através de login e senha em planilhas. Você poderá criar usuários e definir o que eles podem acessar em determinadas planilhas. Veja exemplos abaixo:
Para ter acesso a Planilha para Criar Login e Senha em Outras Planilhas, clique aqui!
Esses são apenas alguns exemplos de macros que você pode utilizar no dia a dia. Vale lembrar que toda macro é um mini programa e por isso é fundamental ter cuidado para não executar qualquer tipo de macro, principalmente se ela vier em planilhas de terceiros.
E você já usa alguma macro no seu cotidiano? Compartilhe conosco a sua experiência deixando um comentário ou entrando em contato!
Está com dúvidas? Entre no Fórum de Excel da LUZ e envie a sua pergunta!