You are on page 1of 24

0 exemplos de macros essenciais no

Excel
Leandro Borges 3 comentrios Estratgia
Compartilhe com amigos:
285
2
Google +7
Este contedo faz parte da srie:
Excel VBA
Ver 6 posts dessa srie
Baixe este artigo em PDF

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!