Anda di halaman 1dari 13

10 exemplos de macros essenciais no Excel

Este contedo faz parte da srie:


Excel VBA
Ver 6 posts dessa srie
Para aproveitar toda a potencia que o Excel possui, indispensvel a utilizao 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 codigos com
funes mais avanadas. Essas sequencias so gravadas em um modulo VBA e so
executados sempre que for necessrio. 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 ao que far parte da Macro, depois o gravador de macro
converte essas aes em comandos VBA(Visual Basic for Applications).

Usando VBA: Se voc entende um pouco de programao ou mesmo domina a


linguagem VBA, pode criar suas macros por conta prpria. Para isso basta
utilizar o editor de VBA presente nas verses mais recentes do Microsoft Excel.

Como dito anteriormente possvel realizar uma infinidade de operaes com as


macros, no entanto existem algumas que se destacam das demais por serem mais
utilizadas no dia-a-dia. Veja 10 macros que vo 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 cdigo pode ser inserida em qualquer macro, muito til nos casos onde se
faz necessrio emitir avisos ao usurio 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 parmetro 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. No se
esquea de habilitar as macros no seu Excel.

3) Planilha com data e hora atual


possvel escrever a data e a hora atual na planilha. O exemplo a seguir insere esses
dados na clula A1, veja.
Sub escreverDataEHora()
Range(A1) = Now
End Sub

4) Execute a mesma ao em cada clula selecionada


Em algum momento voc precisara executar uma ao nas clulas que foram
selecionadas pelo usurio. 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 clulas selecionadas


Voc pode fazer a mesma macro anterior mas de forma um pouco mais abrangente, ou
seja a ao no ser realizada em etapas. O exemplo abaixo escreve Ol em todas as
clulas.
Sub fazerAlgoATodasAsCelulas()
Selection.Cells.Value = Ol
End Sub

Voc pode fazer uma infinidade de inseres no cdigo, 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 recomendvel verificar se existe algo dentro da clula, sempre que uma
modificao na clula seja necessrio. Nesse exemplo verificaremos se existe alguma
formula na clula em questo.
Sub verificarFormula()
If Range(A1).HasFormula = True Then
MsgBox Existe Formula
Else
MsgBox No uma Formula
End If
End Sub

7) Mudar cor da clula ao passar o mouse


Voc tambm pode querer proporcionar mais interatividade com os usurios da planilha.
O ideal que a interatividade tenha o objetivo de facilitar o servio e visualizao das
informaes. A macro abaixo um exemplo de como voc pode fazer com que sua
tabela apresente clulas com o mesmo tom de cor sempre que o mouse passar por um
dado que correlacione essas clulas.
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 clulas, de acordo com a letra
das clulas.
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 possua palavras que
iam da clula A1 at a A5, mas voc pode escolher o intervalo que achar mais
conveniente, para isso basta alterar o A1:A5 presentes no cdigo abaixo, pelo intervalo
que preferir.
Sub ExcelFalando()

Range(A1:A5).Speak
End Sub

10) Desbloqueando planilhas com senha


Algum colocou senha na sua planilha e agora voc no consegue mais desbloque-la.
No se preocupe com essa macro voc poder acessar novamente todo o contedo

armazenado nesse arquivo de Excel. Para isso abra a planilha com bloqueio e acesso o
editor de VBA. No editor voc criar uma macro da seguinte forma:
Sub Desbloqueia_Planilha()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
On Error Resume Next
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox Sua planilha foi desbloqueada
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub

Execute essa macro na planilha bloqueada e espere at que a senha seja quebrada.
Obs: Cuidado com o numero de next no final na macro, eles devem fechar os laos FOR
abertos.
Esses so 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
no 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
experincia deixando um comentrio ou entrando em contato!

Anda mungkin juga menyukai