You are on page 1of 15

10 exemplos de macros essenciais no

Excel

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.

You might also like