Olá! Eu sou o Roberto Sabino, instrutor na Alura, e estou aqui para começarmos a aprender a automatizar tarefas com VBA, como, por exemplo, pegar uma planilha, teclar "Ctrl + Shift + R", formatar, limpar os dados e deixar tudo pronto para ser usado pelo pessoal da ByteBank.
Audiodescrição: Roberto se descreve como um homem de pele clara, cabelo e barba escuros, com alguns fios grisalhos, e olhos castanho-escuros. Ele veste uma camiseta lisa escura, está sentado em uma cadeira preta, e a parede atrás dele também é lisa, iluminada em degradê azul.
Este será um curso muito interessante! Talvez o VBA seja o que mais gostamos de usar no dia a dia, porque além de resolver vários problemas, também traz um efeito wow nas nossas soluções.
O objetivo do curso é ensinar a pegar uma planilha bagunçada, teclar "Ctrl + Shift + R" e arrumar tudo. Evidentemente, faremos isso com o VBA.
Precisamos aprender um pouco de programação, mas vamos fazer tudo isso parecer muito fácil. Tenha certeza que, mesmo que você já tenha tentado aprender o VBA e tenha tido dificuldade, vamos fazer de uma maneira diferente, mais fácil e tranquila. Com certeza, esperamos ter você conosco neste curso.
Durante o curso, vamos aprender os fundamentos do VBA, os principais comandos, e como organizar os códigos para obter esse resultado.
Este curso foi desenvolvido para ter uma aprendizagem ativa. Então, desde o primeiro momento, você irá entrar em contato com esse conhecimento e poderá usá-lo no seu dia a dia.
Você também terá acesso ao fórum e ao Discord, onde poderá interagir.
Temos certeza que este curso chama a atenção e você vai querer aprender conosco. Então, prepare-se, e vamos para a aula 1, porque temos muita coisa para fazer. Prometemos que tudo será bem explicado e você conseguirá acompanhar. Vamos colocar a mão na massa?
Imagine que trabalhamos em uma fintech chamada ByteBank, e essa fintech usa dados para gerar relatórios para as pessoas clientes.
O chefe nos informa que, todas as manhãs, precisamos coletar uma base de dados do saldo investido das pessoas clientes, e ajustar essa base, porque outra área usará esses dados para gerar um relatório.
A nossa parte da tarefa é realizada no Excel, pois a outra área também usará o Excel para manipular os dados. Lembrando que isso precisa ser feito todos os dias. Portanto, essas são as principais condições para usarmos o VBA:
- Usar o Excel;
- E saber que é uma tarefa repetitiva.
Podemos fazer isso de várias maneiras diferentes: podemos usar o Power Query, ou o Power Pivot, por exemplo. Já vimos no curso de Business Intelligence com Excel que é possível fazer dessas maneiras. Também podemos fazer com funções, entre várias outras formas diferentes, mas a maneira que mais gostamos é o VBA, porque o resultado é muito interessante.
Temos a seguinte planilha:
ID_Cliente | Clientes | Total Investido | E-mail Interno Cliente |
---|---|---|---|
1001 | N#ome Cliente 1001 | R$ 25,000.00 | ** |
1002 | ##Nome C#lie$nte 1002 | R$ 55,500.00 | ** |
1003 | ****Nome Cliente 1003 | R$ 28,250.00 | ** |
1004 | No&me Cliente# 1004 | R$ 34,900.00 | ** |
1005 | Nome$ Clie#nte 1005 | R$ 43,290.00 | ** |
1006 | ##Nome Cliente 1006 | R$ 35,000.00 | ** |
1007 | Nome Cliente 1007** | R$ 12,900.00 | ** |
1008 | Nome C&liente 1008 | R$ 21,150.00 | ** |
1009 | %Nome Cliente 1009 | R$ 12,900.00 | ** |
Recebemos os dados todas as manhãs, e a partir deles, simplesmente geramos a planilha revisada:
ID_Cliente | Clientes | Total Investido | E-mail Interno Cliente |
---|---|---|---|
byte_1001 | Nome Cliente 1001 | R$ 25.000,00 | byte_1001@bytebank.com.br |
byte_1002 | Nome Cliente 1002 | R$ 55.500,00 | byte_1002@bytebank.com.br |
byte_1003 | Nome Cliente 1003 | R$ 28.250,00 | byte_1003@bytebank.com.br |
byte_1004 | Nome Cliente 1004 | R$ 34.900,00 | byte_1004@bytebank.com.br |
byte_1005 | Nome Cliente 1005 | R$ 43.290,00 | byte_1005@bytebank.com.br |
byte_1006 | Nome Cliente 1006 | R$ 35.000,00 | byte_1006@bytebank.com.br |
byte_1007 | Nome Cliente 1007 | R$ 12.900,00 | byte_1007@bytebank.com.br |
byte_1008 | Nome Cliente 1008 | R$ 21.150,00 | byte_1008@bytebank.com.br |
byte_1009 | Nome Cliente 1009 | R$ 12.900,00 | byte_1009@bytebank.com.br |
O mais interessante de tudo é que, se precisarmos fazer de novo, podemos fazer. Se a planilha estiver um pouco diferente, não tem problema. Funciona do mesmo jeito. Evidentemente, precisamos criar um VBA que seja mais adequado à sua situação e tudo funcionará conforme esperado.
Você pode pensar que isso é muito complexo, que precisa criar um monte de código. Porém, ao observar o código dessa planilha, notamos ser um código simples e já com um bom resultado.
É o melhor código? Não exatamente. Ao longo deste curso, vamos aprender a fazer este código, e além disso, um código ainda melhor, mais flexível e fácil de manter, porque abordaremos isso passo a passo.
Se você já fez curso com este instrutor aqui na Alura, já sabe que temos nossos combinados especiais, e neste curso precisamos fazer alguns combinados muito importantes. O primeiro deles é que vamos trabalhar do zero, ou seja, você não precisa saber nada de VBA, apena sobre Excel.
Segundo combinado importante: se você já sabe VBA, cuidado! Às vezes, você acha que sabe muito do VBA, mas sabe só uma parte. Então, é bom assistir todas as aulas, mesmo que em uma velocidade mais rápida.
Outro ponto: este é apenas o primeiro passo da formação, então vamos devagar. O VBA pode trazer alguns desafios para muitas pessoas estudantes, porque precisamos aprender lógica de programação, comandos novos, já que os comandos são em inglês, mas faremos isso de uma forma que ficará muito fácil.
Além desses combinados, queremos fazer mais um que também é importante. Pode ser que você tenha algumas dúvidas sobre o VBA e pense o seguinte: "Estamos na era da inteligência artificial. Não vale mais a pena aprender a fazer VBA, porque é só deixar a inteligência artificial resolver para nós". Isso não é exatamente verdade, mas há, sim, um pouco de verdade no meio.
Deixamos o Copilot aberto para conversarmos com ele. Outro combinado importante: nós não vamos trabalhar inteligência artificial neste curso. Porém, queremos mostrar e explicar por quê.
Por exemplo: vamos pedir para ele fazer uma parte do código com um prompt.
Você percebeu que quando formatamos a planilha original, no final, ela teve um formato de tabela? Se você já fez a nossa formação em Excel, sabe que o resultado foi uma tabela. Afinal, quando temos a aba "Design da Tabela", é porque realmente o intervalo selecionado está formatado como tabela.
Vamos começar a conhecer alguns conceitos interessantes? Primeiramente, o VBA não é uma linguagem que só existe no Excel. Tem VBA no Excel, no Outlook, no PowerPoint, no Word. São todos iguais? Na verdade, não. É a mesma linguagem e conseguimos usar, mas os conjuntos de objetos são diferentes.
Descobriremos o que são objetos ao longo do curso.
Com o prompt, pediremos um código em VBA Excel. A partir da inteligência artificial, vamos continuar construindo o prompt de modo a fazer o formato de tabela exibido anteriormente.
Esse código em VBA Excel servirá para formatar o range da planilha. Quando usamos Excel, falamos em células, e às vezes falamos em intervalos. No VBA, vamos falar de range, porque em inglês, "range" significa "intervalo", mas pode ser um intervalo ou uma única célula.
Range é um objeto que representa uma célula ou um intervalo.
Qual é o range da nossa tabela no momento? De A1
até D10
. Faremos o mesmo no prompt: o código VBA Excel será para formatar um range de A1
até D10
como tabela e colocar o nome como "Tabela 1".
Crie um código em VBA Excel para formatar um range de A1 até D10 como tabela e coloque o nome como "Tabela 1".
Não se preocupe com qual é a inteligência artificial. Se você prefere Copilot, ChatGPT, Bard, ou outra específica, não tem problema. A lógica é a mesma e o que queremos dizer é que sim, a inteligência artificial pode gerar o código para nós. Nesse caso, o retorno foi o seguinte:
Sub FormatTable()
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D10"), , xlYes)
tbl.Name = "Tabela 1"
End Sub
Vamos copiar esse código e fazer uma comparação com o código que temos no projeto. Caso ainda não esteja entendendo, tenha calma, pois vamos abordar tudo sem pressa.
Queremos que você já se acostume com esses códigos, porque algumas pessoas estudantes, às vezes, ficam preocupadas. Vamos entender tudo isso ao longo do curso de forma bem simples.
O objetivo é comparar os seguintes trechos de código:
Código do projeto
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$10"), , xlYes)
Código da inteligência artificial
ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D10"), , xlYes)
Note que interessante como são parecidos, ou seja, a inteligência artificial irá simplesmente automatizar ou ser um acelerador naquilo que podemos fazer por conta própria.
Agora, imagine que a inteligência artificial gerou para nós um código que não funciona e não temos a menor noção do que acontece. Nesse caso, não adiantar ter inteligência artificial. Talvez leve muito tempo para conseguir fazer a IA responder qual é o problema e fazer isso funcionar.
Neste curso, queremos dar o ferramental e a base para que, posteriormente, possamos começar a usar a inteligência artificial. Queremos que você tenha a base de VBA, a base de lógica de programação, queremos que você entenda o que fazemos, porque, sim, você vai usar a VBA.
Você não fará códigos manualmente como acabamos de fazer, ou seja, poderá usar a inteligência artificial. Entretanto, começaremos do básico, entendendo as bases, como o que é uma variável, o que é uma repetição, o que é um For
, o que é um Do…Loop, entre vários outros conteúdos.
Vamos devagar, aprendendo o passo a passo, sem usar inteligência artificial neste curso, e aprendendo a fazer um tratamento de dados muito legal, bem feito, e além disso, muito rápido.
Começaremos a colocar a mão na massa no próximo vídeo!
Vamos entender algumas informações importantes sobre o VBA?
Primeiramente, o VBA é uma linguagem proprietária da Microsoft. Isso significa que, se você usa o Google Planilhas (Google Sheets), não poderá usar o VBA.
Poderá surgir a seguinte questão: "Normalmente, eu uso o Google Planilhas, mas quero aprender o VBA. Nesse caso, posso usar o Excel Online?". Na verdade, o VBA não é compatível com o Excel Online.
O Excel Online possui uma aba chamada "Automate". Essa não é a aba do VBA, mas sim uma aba de automação com scripts, que embora seja interessante e permita fazer coisas semelhantes ao VBA, não é o VBA e não será abordado neste curso.
Existe também a opção "Automate Work" na aba "Automate", para usar o Power Automate, mas novamente, não é possível usar VBA. Caso se tente usar o VBA, criando uma planilha com VBA e tentando abri-la com o Excel Online, as macros não serão habilitadas, pois não funcionam.
Para seguir este curso, é necessário ter o aplicativo Excel instalado na máquina.
Outro ponto importante: se você abrir o Excel e não encontrar a aba "Desenvolvedor", não há problema. Basta clicar com o botão direito sobre as guias na parte superior, selecionar a opção "Personalizar a Faixa de Opções…", e na janela que será aberta, procurar pela opção "Desenvolvedor".
Se essa opção não estiver habilitada, basta marcar a caixa de seleção à esquerda de "Desenvolvedor" para habilitá-la. A partir disso, a aba "Desenvolvedor" aparecerá e poderemos usar as macros e o VBA.
No último curso da formação básica de Excel, explicamos a diferença entre VBA e macro. VBA é a linguagem utilizada pelo Excel para fazer automações. Macro é a automação em si, que pode ser feita sem olhar para o VBA. Este é um curso de VBA, no qual iremos examinar e trabalhar com a linguagem.
Para começar a trabalhar com o VBA, na aba "Desenvolvedor", encontraremos a opção "Visual Basic" à esquerda, correspondente ao editor Visual Basic.
Ao clicar nessa opção, seremos redirecionados para uma aba diferente que não é o Excel. É um ambiente distinto. Se pressionarmos "Alt + Tab", conseguimos alternar entre o Excel e o editor do Visual Basic.
Neste ponto, temos uma planilha já desenvolvida, com o código aberto. Vamos fechar essa planilha para sair do editor do Visual Basic. Na planilha, encontramos o Solver (SOLVER.XLAM)
, que está habilitado como um complemento, e a aba de planilha pessoal de macros (VBAProject (PERSONAL.XLSB)
).
Esses dois itens podem ou não aparecer para você. O que deve aparecer obrigatoriamente é a sua pasta de trabalho, neste caso, a pasta 1 (VBAProject (Pasta1)
).
Todo o conteúdo que aparece no menu lateral esquerdo do Visual Basic é o projeto em que vamos trabalhar na nossa planilha para inserir o VBA.
Falamos anteriormente sobre objetos. Por exemplo: nossa pasta de trabalho é um objeto, nossa planilha é um objeto, nossa célula é um objeto. Simplificando: tudo no Excel é objeto. Se observarmos, há uma pasta Microsoft Excel Objetos
dentro da pasta 1 do projeto. Logo na sequência, temos a pasta de trabalho (EstaPastaDeTrabalho
) e a planilha (Planilha1
).
Se criarmos mais duas planilhas, por exemplo, o que acontecerá? Teremos a pasta de trabalho (EstaPastaDeTrabalho
), Planilha1
, Planilha2
, e Planilha3
. Estes são nossos objetos do Excel.
Por enquanto, vamos entender os objetos como todas as partes do Excel. Esse é o nosso objetivo de automação, ou seja, a partir disso, iremos criar as automações.
Para finalizar essa preparação e começarmos a codificar, geralmente, usamos um módulo. O que é um módulo? É uma folha em branco para escrevermos o nosso código.
Observe que não conseguimos editar inicialmente; há apenas uma tela cinza no centro. Se você está começando no VBA, pode pensar que não é possível usar assim, mas antes precisamos inserir um módulo. Portanto, na barra de menu superior, vamos clicar em "Inserir > Módulo".
Cuidado: não use a opção "Módulo de classe", e sim "Módulo".
Feito isso, temos uma folha em branco e podemos começar a escrever o código. Entretanto, podemos escrever qualquer coisa que quisermos? Vamos testar, por exemplo, qualquer coisa que eu queira
.
Ao executar, haverá um erro, porque agora entramos em um ambiente de programação, isto é, um ambiente de código, e ele espera que façamos coisas que ele consiga entender.
É como conversar com uma inteligência artificial que só entenda algumas palavras. Precisamos descobrir qual é a palavra que essa inteligência artificial entende, fazendo uma analogia.
Em um ambiente de programação, existe algo chamado sintaxe. A sintaxe é como escrevemos para esse ambiente de programação entender e executar o que pedimos.
É isso que faremos ao longo deste curso, devagar, seguindo o passo a passo. Você irá aprender muita coisa e será muito interessante. No próximo vídeo, já começaremos a executar comandos!
O curso VBA: automatizando tarefas diárias sem ser Dev possui 186 minutos de vídeos, em um total de 45 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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.