Início Excel 10 exemplos de macros essenciais no Excel

10 exemplos de macros essenciais no Excel

31
64170

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.

Curso de VBA em Excel

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

- Texto após a publicidade -

Basta inserir na sua macro o comando MsgBox. Veja como no exemplo abaixo:

MsgBox “texto da mensagem”

10 exemplos de macros essenciais no Excel1

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.

Curso de VBA em Excel

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

10 exemplos de macros essenciais no Excel

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

10 exemplos de macros essenciais no Excel10 exemplos de macros essenciais no ExcelCurso de VBA em Excel

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

10 exemplos de macros essenciais no ExcelCurso de VBA em Excel

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

10 exemplos de macros essenciais no Excel10 exemplos de macros essenciais no Excel

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

10 exemplos de macros essenciais no ExcelCurso de VBA em Excel

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

10 exemplos de macros essenciais no ExcelCurso de VBA em Excel

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

10 exemplos de macros essenciais no ExcelCurso de VBA em Excel

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 exemplos de macros essenciais no Excel

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:

Como restringir acesso a abas de uma planilha

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!

Curso de VBA em ExcelEstá com dúvidas? Entre no Fórum de Excel da LUZ e envie a sua pergunta!

- Texto após a publicidade -

31 COMENTÁRIOS

  1. Hola Armando, es posible hacer via macro sí. Pero si lo desea, puede utilizar la función HIPERLINK con INDIRECTO y CONCATENAR para adjuntar textos que formen el enlace correcto y se abran automáticamente

  2. Hola buenas tardes, estoy haciendo una bitácora de ni correspondencia y necesito agregar el hipervínculo a una celda de excel para que se abra el pdf cuando de click sobre el hipervínculo, hacerlo en una o diez celdas es sencillo de una por una, pero hacerlo en cientos o miles es tedioso. Mis archivos pdfs escaneados se llaman igual (oficio2015_001) y están en la misma carpeta, solo cambia el número. Puede hacerse una macro para generar los hipervínculos de manera masiva?

  3. Estou aposentado desde 2016, mas em meu último emprego um colega de trabalho criou uma planilha Excel que importava alguns dados de determinados produtos comercializados pela empresa, diretamente do programa gestor de notas fiscais que utilizávamos. Eu fazia o mesmo através do aplicativo Firebird 2.5 que nos havia sido fornecido por um analista de sistemas, mas não sabia que isso era possível também através do Excel utilizando macros e VBA. O Rafael Ávila pode me dar alguma informação sobre o assunto ?

  4. Fala Pedro, tudo bom? Nós nunca nos preocupamos com isso porque as planilhas demonstrativas, além das senhas (que podem ser quebradas eventualmente com uso de VBA por pessoas de má fé), ainda temos outros mecanismos de proteção que fazem com que as demos sejam pouco úteis mesmo depois de terem a proteção perdida. Apesar disso, agradeço o toque e ajustei o post aqui =]

  5. Rapaz que tiro no pé expor o VBA que quebra senhas de planilhas. As planilhas de demonstrações deste site são todas protegidas com senhas…

  6. Testei essa macro aqui e resolveu, qualquer duvida pode entrar em contato.

    Sub Cor()
    ‘Checar quantas células em um intervalo estão na cor da célula A1

    Dim Cor As Variant ‘Cria a variável que reconhecerá a cor da célula de referência
    Dim i, j As Long ‘Cria as varáveis de linha e coluna
    Dim teste As Integer
    Dim Contador As Integer
    Dim L_in, L_fin, Col_in, Col_fin As Integer ‘Cria as variáveis que representaram o range de análise

    ‘Seleciona a célula de referência
    Range(“A1”).Select
    ‘Reconhece o atributo cor da célula de referência
    Cor = Range(“A1”).Interior.Color

    L_in = Range(“F2”).Value
    L_fin = Range(“G2”).Value
    Col_in = Range(“F3”).Value
    Col_fin = Range(“G3”).Value

    i = L_in
    Contador = 0
    Do While i <= L_fin

    j = Col_in
    Do While j <= Col_fin

    If Cells(i, j).Interior.Color = Cor Then
    teste = 1
    Else: teste = 0

    End If
    Contador = Contador + teste
    j = j + 1
    Loop

    i = i + 1
    Loop

    Range("A1").Value = Contador

    End Sub

  7. Essa macro resolve seu problema.

    Sub Macro_EDSON()

    ‘ Macro_EDSON Macro
    ‘ macro que copie a coluna K de de uma planilha “NEW DIGITA”e cole em outra planilha “RELATORIO” na coluna A1 e no dia seguinte copiar a mesma coluna k e colar na proxima coluna B1

    Dim v As Worksheet
    Dim w As Worksheet
    Dim contador As Integer

    Set v = Worksheets(“NEW_DIGITA”)
    Set w = Worksheets(“RELATORIO”)

    Sheets(“NEW_DIGITA”).Select
    Sheets(“NEW_DIGITA”).Columns(“K:K”).Copy

    Sheets(“RELATORIO”).Select

    Range(“A1”).Select
    Selection.End(xlToRight).Select
    ActiveCell.Offset(0, 1).Select
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
    , SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

    Range(“A1”).Select

    Sheets(“NEW_DIGITA”).Select
    Application.CutCopyMode = False
    v.Range(“K1”).Select

    End Sub

  8. Oi Denize, o Excel não tem nenhuma lógica de contagem por cor facilmente acessada. O que você pode fazer é criar uma coluna para dizer qual cor é, usar uma formatação condicional para mudar a cor e depois fazer a contagem de acordo com o valor da célula (que erá uma palavra remetendo a uma cor)

  9. Boa Tarde!!!

    Utilizo o excel2010 e preciso de uma formula que conta se de uma coluna por cores
    ja tentei alguns macros mas não consigo chegar no resultado de contar quantas celulas da coluna esta em uma determinada cor

    Se puder me ajudar?!!!

  10. Prezados, boa tarde.
    Precisa de uma macro que inserisse na coluna A1 o seguinte formato aos números:
    =(“1231231223”)

    hoje os números estão assim 1231231223, porem preciso que eles fiquem todos na formatação acima.

    Por favor quem puder me ajudar.

    atenciosamente,
    Giovanni Batista

  11. Oi Gislaine, basta criar uma lista em uma célula, com validação de dados e depois usar o PROCV para buscar os valores do produto escolhido

  12. Boa tarde ! Trabalho com uma planilha muito grande de produtos e fornecedores , uso ela para preencher outra planilha de orçamento. gostaria de uma forma por exemplo clicar na celular da planilha de orçamento e por ela selecionar o produto e valores de outra planilha ( com os dados dos produtos)

  13. Oi Edson, basta você gravar a macro fazendo esse processo. A atualização precisará que você clique em um botão todo dia para executar a macro, mas o processo é bem simples

  14. Rafael Ávila
    preciso de uma macro que copie a coluna K de de uma planilha “NEW DIGITA”e cole em outra planilha “RELATORIO” na coluna A1 e no dia seguinte copiar a mesma coluna k e colar na proxima coluna B1

  15. Gostei muito do site e da forma como as coisas são explicadas. Parabéns!
    Estou precisando de uma ajudinha. Preciso executar uma consulta a um link externo do excel. Porém, a URL não é sempre a mesma. Como poderia criar uma consulta a partir de uma caixa de diálogo, onde poderia colar o endereço desejado?
    Obrigado!

  16. Já de inicio tenho uma planilha de cartões de crédito e débito extensas, que vem descrição, data,bruto,despesa,liquido e taxa. No caso o que fazemos lá utilizamos a Data, Bruto e Despesa fica mais ou menos assim : 01/01/2017 1.345,67 67,89; ai modificamos para ficar a sim
    01/01/2017 6874 (numero do cartão) 51 (este nunca muda) 1.345,67 3700 (código de provisão do cartão)
    01/01/2017 5029 (nunca muda) 6874 (repete ref. ao cartão) 67,89 1562 (nunca muda)
    Dps de fazer isso e jogado no TXT que deve ficar assim:
    ,01/01/017,6874,51,1345.67,3700
    ,01/01/2017,5029,6874,67.89,1562

    Então se tiver como já puxar daqui de acordo com o nome do cartão descrição, data,bruto,despesa,liquido e taxa

  17. Boa Noite, preciso de um código para VBA especifico, trabalho numa contabilidade e preciso para agilizar o serviço lá poderia entrar em contato por e-mail: [email protected] ou Zap: 27 99287-4242.
    Que passo o que preciso!

  18. Oi Robson, o próprio hiperlink pode funcionar levando o cursos do mouse para o início da tela, basta selecionar a opção de levar para o mesmo documento e selecionar uma célula inicial, por exemplo, A1

  19. Boa tarde !!!
    Gostaria de um macro, ou algo para quando direcionar por hiperlink uma celula, ela aparecer no topo de tela.

  20. Oi Eduardo, esse processo que você quer criar é bem complicado e exige uma série de ações diferentes para funcionar. Ficaria bem difícil te explicar tudo por aqui. Na LUZ temos uma planilha que faz o controle de acessos e logins. Dá uma olhada nela – https://luz.vc/macros-prontas-em-excel/planilha-para-criar-login-e-senha-em-outras-planilhas

    Ainda assim, só ela não seria suficiente, ainda seria necessário criar algumas rotinas como a de entender que o form só precisa ser preenchido uma vez, o próprio form e outros detalhes

  21. Oi Rogério, no VBA você pode utilizar eventos para realizar ações. Nesse caso, você pode usar o evento change (se não me engano) condicionado ao que você quer fazer.

  22. Olá gostei muito do blog e as matérias contidas.

    Gostaria de uma Ajuda com uma Planilha Financeira Empresarial, eu procuro criar no vba, uma tela de “boas Vindas” com Login e Formulário. Deixando o Excel invisível para somente abrir apos acesso depois de preencher o formulário onde o mesmo formulário Colocaria os Dados fornecidos como CNPJ, Nome da Empresa, CPF e outros dados necessários. Porem esse userforme apareceria para preenchimento somente uma vez na primeira abertura , pois depois de preenchido as informações empresariais ele as manteria e me permitira escolher em qual Plan quero visualizar ou acessar .. Como disse uma planilha empresarial financeira com varias plan ( de Janeiro a Dezembro).

    Eu tenho o esboço do que quero na cabeça mais nao sei como montar rsrs’ pode me ajudar ?

  23. gostei muito das dicas do site.

    pf., preciso saber se é possível varrer uma determinada coluna que tem códigos que se repetem e tomar uma ação a cada vez que o código muda. Exemplo:
    1
    1
    _ Acao referente ao codigo 1
    2
    2
    2
    _ Acao referente ao codigo 2
    5
    5
    _ Acao referente ao codigo 5
    o programa teria que identificar a mudança do padrão

    é possível?

  24. Olá Rafael tudo bem? uma vez eu vi uma macro que era o seguinte: tudo queeu fazia dentro do excel, essa macro ficava repetindo o que eu tinha feito tipo como se eu tivesse gravando a tela, como fazer macro vc sabe?

    Desde Já Agradeço!

  25. Oi Hernandes, infelizmente não temos um passo a passo mais detalhado do que esse aqui em cima.

  26. Tentei fazer o item, 7 e não consegui, teria algum lugar com um passo a passo?

Comments are closed.