Alura > Cursos de Data Science > Cursos de Excel > Conteúdos de Excel > Primeiras aulas do curso Excel: automatizando tarefas com Macros

Excel: automatizando tarefas com Macros

Porque automatizar tarefas - Apresentação

Olá! Me chamo Roberto Sabino, sou instrutor aqui na Alura.

Audiodescrição: Roberto Sabino se identifica como um homem de pele clara, rosto oval e olhos castanhos. Tem cabelos castanhos curtos e barba grisalha. Está com uma camisa preta, sentado em uma cadeira também preta e usa um microfone de mesa.

Estamos no último passo da nossa formação em Excel. Sem dúvidas, este é um passo muito importante.

O que vamos aprender?

Chegamos à automação com Excel, um conteúdo especial. Vamos entender como podemos usar macros e começar a usar o VBA no nosso dia a dia. Este curso é para quem já está familiarizado com o Excel. Vamos entender um pouco a diferença entre Macros e VBA.

Aprenderemos como gravar e criar macros. Depois, vamos analisar o código VBA. Após isso, faremos um ajuste no código VBA. No final, já estaremos escrevendo nossos primeiros códigos. A sensação de começar a usar o código VBA para automatizar suas tarefas diárias é realmente muito legal.

Lembre-se que esse curso é desenvolvido para uma aprendizagem ativa.

Portanto, você terá, principalmente no fórum, a oportunidade de interagir com outras pessoas estudantes, sanar suas dúvidas e também colocar em prática esse conhecimento. Claro que você poderá implementar isso no dia a dia, aplicando esse conhecimento no seu próprio trabalho.

Se você está neste curso, é provável que tenha concluído toda a formação. Agora, na aula 1, começaremos a explorar como automatizar as tarefas cotidianas.

Te espero lá!

Porque automatizar tarefas - Conceitos de automação

Iniciaremos o trabalho com automações.

Antes disso, é necessário esclarecer alguns pontos:

Este curso pode ser frequentado por uma pessoa que não esteja seguindo a formação em Excel. No entanto, quem está seguindo a formação em Excel provavelmente terá um conhecimento adicional. Usaremos o mesmo projeto.

A proposta deste curso é capacitar a pessoa estudante a aprender a desenvolver suas próprias automações. Mais do que ensinar uma automação específica, fornecerei diversas orientações sobre como automatizar as tarefas diárias. Portanto, ter conhecimento da nossa planilha pode ser benéfico. É a mesma planilha utilizada nos cursos anteriores.

Nela, temos dashboards, tabelas dinâmicas, um dashboard criado antes do desafio, consultas que foram realizadas usando o Power Query, e tabelas com algumas funções bem interessantes. Portanto, temos uma série de recursos já utilizados nessa planilha que talvez ajudem na compreensão de tudo que faremos aqui como automação.

Este representa o último passo de uma jornada e, ao mesmo tempo, o primeiro passo em direção a uma nova etapa. Isso ocorre porque estamos deixando de considerar o Excel apenas como uma planilha e começando a enxergá-lo como uma ferramenta de automação, pensando em termos de VBA e Macro.

Isso nos abre um mundo de oportunidades para aumentar a produtividade de maneira significativa.

Vamos começar.

Macro

O ponto de partida é compreender precisamente o que é uma macro. Muitas pessoas me questionam: "Posso realizar essa ação com uma macro?" ou "Qual a finalidade de uma macro?" ou ainda, "O VBA ficará desatualizado?"

Quero tratar de todos esses pontos para que possamos nos localizar, já que nem todas as pessoas possuem experiência com automação, como é feita uma macro, entre outros. Portanto, pode ser que você não tenha esse conhecimento ainda.

Outro aspecto relevante que gostaria de abordar é que, frequentemente, ao ministrar aulas, seja presencialmente ou online, costumo perguntar às pessoas estudantes, antes de iniciar o curso de VBA ou macros, se elas têm alguma experiência com VBA ou já realizaram alguma automação. É comum ouvir de algumas delas que já tiveram contato com o VBA e realizaram alguma automação.

Contudo, quando iniciamos o curso, logo nas seções mais fundamentais, essas mesmas pessoas enfrentam desafios e necessitam de assistência desde o início. Qual é a razão para isso?

Talvez eu vá desfazer algumas ideias equivocadas, mas simplesmente copiar um código da internet, colá-lo e verificar se ele funcionou ou não, não equivale verdadeiramente a uma automação. Para podermos afirmar que compreendemos automação, é necessário, no mínimo, entender o funcionamento do mecanismo que a macro emprega.

E é exatamente isso que abordaremos nesta primeira aula.

Caso você já tenha realizado automações, mas somente por meio de cópia (Ctrl + C) e colagem (Ctrl + V), vamos começar desde o começo. Se você já possui experiência com VBA e deseja explorar tópicos mais avançados, pode optar por percorrer esta aula de forma mais rápida, pois ela tem o propósito de nos situarmos.

Vamos ao Excel.

O primeiro ponto a ser observado é que intencionalmente ocultei a guia de desenvolvedor, visto que, se você nunca utilizou VBA ou macros, a aba de desenvolvedor não estará disponível desde o início.

Clicamos com o botão direito em uma das guias da faixa de opções e selecionamos "Personalizar a faixa de opções". Neste menu, à direita, onde temos "Personalizar a faixa de opções", abaixo temos "Guias Principais", localizamos a guia "Desenvolvedor" e a marcamos.

Dependendo do tipo de assinatura que temos do Microsoft 365, aparecem duas abas: "Desenvolvedor" e "Automate". E nos questionamos: são as duas a mesma coisa? A resposta é não.

Vou selecionar ambas para compararmos. Logo após, selecionamos o botão "Ok".

Observem que agora no menu superior do Excel temos as abas "Desenvolvedor" e "Automate".

Para a criação de macros, o trabalho com VBA e a automação, nós utilizamos a aba "Desenvolvedor". No entanto, a aba "Automate" também serve para automação. Isso porque a aba "Automate" foi criada para o Excel online.

A história do Excel começa com o software instalado no computador, que é a versão mais antiga. As planilhas online, como Google Sheets (Planilhas Google) e LibreOffice, foram criadas com base nesse Excel mais antigo.

Algumas versões, como o Google Sheets, ao serem usadas online, não permitem o uso de VBA, que é o que usamos para criar as macros. Nesses casos, seria necessário usarmos uma linguagem de script, que o navegador consegue interpretar, como o JavaScript.

Vou abrir uma versão gratuita do Excel online.

Se pesquisarmos na faixa de opções do Excel online gratuito, não encontraremos a opção "Automate". Isso ocorre porque essa opção é específica para quem possui uma versão paga do Excel online, ou seja, uma assinatura do Microsoft 365.

Para saber se estamos utilizando a versão gratuita ou paga. Se na parte superior direita da página estiver escrito "Comprar o Microsoft 365", estamos na versão gratuita. Caso estejamos utilizando uma versão disponibilizada pela nossa empresa ou qualquer outro lugar, isso também serve como referência.

Vou para a versão paga do Excel online agora.

O layout da versão paga é bem semelhante ao do Excel instalado no computador, pois oferece mais opções e comandos, além de não exibir a mensagem "Comprar o Microsoft 365". Além disso, essa versão inclui uma guia chamada "Automatizar" que se assemelha muito à guia "Automate" no Excel instalado.

A opção "Automate" surgiu no Excel online e no Google Sheets para permitir o uso do JavaScript para automações. Vale ressaltar que o Google Sheets aceita outras linguagens de script além do JavaScript.

Normalmente, utilizamos JavaScript ou TypeScript. O TypeScript é um JavaScript peculiar, criado pela Microsoft. Vamos discutir isso em outros conteúdos.

Objetivos do curso

Nosso objetivo agora é entender as diferenças entre automação, macro e o conteúdo que vamos explorar neste curso, que é o mais importante. Não vamos trabalhar com scripts por enquanto.

Trabalharemos na guia "Desenvolvedor", sendo importante destacar que a pessoa somente conseguirá utilizá-la se tiver o Excel instalado em sua máquina. Caso não possua o Excel instalado, embora seja possível utilizá-lo em outra localidade ou na empresa, não será viável reproduzir as ações apresentadas neste curso.

É fundamental ressaltar que a presença do Excel na máquina é um requisito essencial para trabalhar com VBA.

Na plataforma, abordaremos outros conteúdos relacionados à função "automate", que pode ser executada no Excel online, sem problemas. Portanto, é importante lembrar que a automação pode ser realizada nas guias "Desenvolvedor" e "Automate".

Neste curso, abordaremos macros e faremos uma introdução à VBA.

Próximos passos

No próximo vídeo, aprofundaremos as diferenças entre macros e VBA e, em seguida, começaremos a trabalhar em nossas automações. Realizaremos diversas pequenas automações para aprender e obter ideias sobre como aplicá-las em situações cotidianas.

Porque automatizar tarefas - Macro vs. VBA

Geralmente, faço os combinados todos no primeiro vídeo. No entanto, este curso é especial. Após ministrar diversos cursos, incluindo uma versão anterior deste que estamos atualizando, reconheço que as pessoas estudantes frequentemente têm dúvidas significativas que é importante esclarecer desde o início.

Portanto, neste momento, abordaremos alguns pontos essenciais, principalmente relacionados ao conteúdo do curso.

A principal questão é: estaremos trabalhando com Macros ou VBA? E existe alguma diferença entre eles?

Além disso, é relevante destacar que não é necessário se assustar com o VBA. Se você nunca teve contato com o VBA, pode parecer que está lendo um texto em uma língua estrangeira, especialmente se não estiver familiarizado com esses caracteres. Imagine-se lendo uma poesia escrita em um alfabeto desconhecido.

É provável que o VBA cause uma sensação inicial de estranheza, mas à medida que avançarmos no curso, você adquirirá uma certa familiaridade com seus conceitos e funcionalidades. No final, a utilização do VBA será muito mais tranquila e compreensível.

Para minimizar a sensação inicial desagradável, vamos começar com o VBA abrindo a planilha no dashboard do Excel.

Macro e VBA

A primeira coisa que desejamos fazer é distinguir Macro de VBA.

Como sabemos que este é um conceito um pouco mais complexo, usaremos uma planilha em branco como exemplo.

Removemos a guia "Automate" clicando com o botão direito, escolhendo a opção "Personalizar a Faixa de Opções" e desmarcando a opção "Automate". Se notarem algo incomum, é porque meu Excel está sem a barra de fórmulas, mas, na prática, não a utilizaremos muito, então não há problema.

Selecionamos a aba "Desenvolvedor" na parte superior e entenderemos o que é uma macro. Vamos na célula C2 e digitamos o número 10.

Não queremos apenas escrever "10"; queremos registrar essa ação para que possamos repeti-la várias vezes posteriormente. Portanto, iremos gravar uma macro.

Gravando a Macro

Para isso, selecionamos "Gravar Macro" no canto superior esquerdo na aba "Desenvolvedor". A partir deste momento, registramos todas as ações que executamos. É importante prestar atenção, pois, embora possa parecer simples demais, é fundamental compreender bem esse processo.

Continuando, será exibida uma janela com três campos: "Nome da macro", "Armazenar macro em" e abaixo um campo para incluir uma descrição.

Chamaremos essa macro de "teste 01", sendo o primeiro teste que realizaremos. Logo após, clicamos no botão "Ok".

Assim que confirmarmos essa ação, o Excel começará a gravar todas as ações que realizarmos a seguir. Portanto, escrevemos "10" na célula C2 e encerramos a gravação. O que ele gravou? Provavelmente, a ação de inserir "10" na célula C2.

Vamos assistir? Criamos outra planilha que terá o nome "Planilha 2" e nela executaremos a macro clicando em "Macros" no canto superior esquerdo. Na janela exibida selecionamos o botão "Executar" do lado direito. Como resultado, foi colocado o número 10 na C2.

Em princípio, essa macro não faz mais do que inserir um "10" na célula "C2". Agora, ao entender o VBA, talvez esteja começando a perceber a diferença entre a macro e o VBA.

A macro é a automação que criamos, enquanto o VBA é a linguagem que o Excel utilizou para realizar essa automação.

No editor do Visual Basic (do lado superior esquerdo). Não precisamos nos preocupar com a grande quantidade de planilhas, já que foi o que trabalhamos durante o curso. Em seguida, vamos acessar os "Módulos", que foram criados automaticamente quando registramos a macro.

O módulo é onde incluímos nossos códigos VBA.

Ao clicar duas vezes em cima de "Módulo 1", ele exibirá a macro que criamos.Nela, encontraremos três comandos:

Sub Teste01 ()
'
'Teste01 Macro
'
'
Range("C2").Select
ActiveCell.FormulaR1C1 - "10" 
Range("C3").Select
End Sub

Se você tem familiaridade com linguagem de programação, já vai entender várias coisas. Como provavelmente não temos pessoas desenvolvedoras conosco neste momento, vamos começar do início.

Estamos visualizando agora o nosso VBA. Isso é macro ou é VBA? Na verdade, o que estamos lendo é a linguagem VBA, o idioma que o Excel usa para automação. Quando executamos isso, podemos chamar de macro.

Mas, na verdade, é mais fácil entender essa diferença. Quando começamos a entender o VBA, tudo se torna VBA e a expressãa macro deixa de ser usada. Por exemplo, dizemos: "Vamos fazer um VBA" ou "Fizemos isto aqui no VBA".

VBA

Agora, vamos ao nosso VBA. O VBA pode ser um pouco exigente. É preciso informar exatamente do jeito que ele espera. Caso contrário, se usarmos uma expressão diferente, ele não aceitará.

Sempre começamos e terminamos os comandos: iniciamos um sub e finalizamos um sub. Sub e end são palavras em inglês que significam "início" e "fim". Caso não entenda inglês, pode ser um obstáculo no início. Mas como o VBA é em inglês, acabará entendendo alguns comandos específicos e conseguirá trabalhar com o VBA.

Vamos para a próxima etapa.

Comentando no código

Tudo que estiver com essa aspa simples ou esse apóstrofo (') é comentário, ou seja, é dispensável e podemos apagá-lo sem nenhuma diferença.

Por outro lado, se escrevermos qualquer coisa que desejarmos sem as aspas simples, o Visual Basic gera um erro, pois os comandos devem ser sem as aspas simples.

Se quisermos fazer um comentário, se quisermos colocar um texto, se quisermos escrever um recado para alguém, se quisermos documentar o nosso código, utilizaremos o recurso chamado de comentário.

Sub Teste01 ()

Range("C2").Select
ActiveCell.FormulaR1C1 - "10" 
Range("C3").Select
End Sub

Começamos uma rotina (Sub Teste01 ()) e encerramos uma rotina (End Sub).

Lembrando que o nome que incluímos na macro é "Teste01". Observamos como ele está presente no código. Isso acontece porque a seleção (range) da célula C2 é representada por "selecione a célula C2" quando iniciamos a gravação e clicamos na célula C2. Portanto, selecionamos a célula C2 e atribuímos o valor 10.

Logo após, ele registrou no código como ActiveCell.FormulaR1C1 - "10". Este é um modo de informar que vai inserir uma fórmula. Depois disso, selecionou a célula C3.

E se você perguntar: "Sabino, eu quero conhecer a macro, eu ainda não quero conhecer VBA"? Não tem problema, vamos fazer macros. Mas se você abrir o VBA de vez em quando, conseguirá fazer algumas alterações simples.

Por exemplo, suponhamos que tenhamos criado uma macro um pouco mais extensa, e em vez de C2, desejamos que ela esteja na célula C10. Podemos fazer essa alteração para C10 e também para C11. Isso funcionará, eliminando a necessidade de recriar toda a macro novamente.

Sub Teste01 ()

Range("C10").Select
ActiveCell.FormulaR1C1 - "10" 
Range("C11").Select
End Sub

No início, conseguiremos fazer apenas pequenas alterações, mas mesmo essas mudanças mínimas já serão bastante úteis. Vamos agora observar a aplicação prática.

Voltamos ao Excel e executamos a macro. Observe que o número 10 foi exibido na posição C10.

O meu objetivo durante o início deste curso é ensiná-los a fazer macros, assim como fazer algumas alterações nessas macros. Com isso, nós já conseguimos realizar uma série de tarefas.

Agora, para realizar alterações na macro, é necessário se familiarizar com o VBA (Visual Basic for Applications), que é a linguagem utilizada para criar essas macros.

No entanto, nem sempre iremos alterá-la. Providenciei um detalhe importante: Se não tiver conhecimento sobre VBA, tenha atenção! Ao tentar fazer ajustes sem o devido conhecimento, você pode estragar todo o trabalho.

Além disso, o VBA pode potencialmente prejudicar seu computador, causar problemas no sistema operacional, excluir arquivos e até bloquear a máquina. Portanto, seja cauteloso ao modificar códigos VBA.

Da mesma forma, tenha cuidado com a prática de copiar e colar códigos da internet, é preciso ter um certo conhecimento para discernir se o código é prejudicial ou não.

Nesse sentido, a utilização de inteligências artificiais pode ser uma alternativa mais viável hoje. Pode ser melhor solicitar a ajuda das inteligências artificiais do que tentar copiar e colar códigos da internet.

Temos conteúdo aqui na plataforma que ensina como usar VBA juntamente com inteligência artificial.

Próximos passos

No próximo vídeo, iremos expandir essa ideia.

Faremos algumas primeiras automações pequenas para começarmos a entender o que é possível fazer com o VBA ou macro. Assim, começaremos a incorporar isso em nosso dia a dia.

Sobre o curso Excel: automatizando tarefas com Macros

O curso Excel: automatizando tarefas com Macros possui 142 minutos de vídeos, em um total de 47 atividades. Gostou? Conheça nossos outros cursos de Excel em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Excel acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
por 12x R$ 109
Desconto Adicional: 20%
12X
R$87,20
à vista R$1.046,40
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
por 12x R$ 149
Desconto Adicional: 20%
12X
R$119,20
à vista R$1.430,40
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se

Pro 24 Meses

De
R$ 3.576
por 12x R$ 298
OFERTA INÉDITA
12X
R$199,06
à vista R$2.388,77
  • Acesso a TODOS os cursos da Alura por 2 anos

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas