Olá, sou o Roberto Sabino, instrutor aqui na Alura, e estamos aqui para aprender a automatizar tarefas com VBA e Inteligência Artificial.
Audiodescrição: Roberto se descreve como um homem de pele clara, com cabelo e barba escuros e curtos, levemente grisalhos, e olhos castanho-escuros. Ele veste uma camiseta preta lisa, e está sentado em frente a uma parede clara iluminada em gradiente azul.
Este curso é para quem deseja aprender a automatizar tarefas, aumentar a produtividade e entender como a Inteligência Artificial pode ajudar no dia a dia, especialmente no departamento de finanças.
Vamos explorar como podemos nos beneficiar da Inteligência Artificial, como pegar uma base de dados, dividir essa base, gerar arquivos para enviar a diferentes pessoas e criar e-mails automaticamente.
Durante o curso, aprenderemos a criar prompts estruturados e resolver problemas que podem surgir no dia a dia do nosso departamento de finanças.
Este curso é projetado para proporcionar uma aprendizagem ativa. Logo, você irá interagir com os conteúdos e poderá aplicá-los em seu dia a dia. Em algumas aulas, você terá a oportunidade de realizar atividades por conta própria, e depois mostraremos como proceder, garantindo que sempre estaremos trabalhando com os conteúdos. É fundamental participar ativamente.
Lembre-se! Você tem acesso ao fórum e ao Discord da Alura, onde pode interagir com outras pessoas estudantes e esclarecer suas dúvidas, promovendo uma aprendizagem ainda mais ativa.
Vamos começar nossa jornada de automação de tarefas com VBA e Inteligência Artificial!
Vamos iniciar nossa jornada de automação e tratamento de dados utilizando Excel, VBA e um pouco de TypeScript!
No início do curso, é importante fazermos algumas considerações.
Muitas pessoas têm resistência em aprender VBA (Visual Basic for Application), seja por acharem complexo, ultrapassado ou por acreditarem que não será útil no dia a dia.
No entanto, grandes empresas e equipes que lidam com grandes volumes de dados costumam utilizar VBA. Isso porque o VBA pode ser um auxiliar importante para outras funcionalidades, como Power Query, Power Pivot e tabelas dinâmicas.
Além disso, o VBA permite realizar tarefas que seriam impossíveis sem ele. Com o advento da inteligência artificial, o VBA se tornou ainda mais poderoso, pois a inteligência artificial consegue programar VBA de forma muito eficiente.
Neste curso, começaremos do zero, apresentando o que é o VBA. Na primeira aula, faremos isso.
Em seguida, utilizaremos a inteligência artificial para realizar tarefas mais avançadas rapidamente.
Precisamos apenas de sua confiança para entender que o início pode ser um pouco monótono, mas é necessário para que você compreenda a parte que envolve inteligência artificial, que será um divisor de águas no seu conhecimento de VBA.
Na plataforma Alura, temos uma formação em VBA que vai do básico ao avançado. O objetivo deste curso é que você consiga aplicar o VBA no departamento de finanças, pelo menos no nível inicial.
Utilizaremos o arquivo arquivo-vendas.csv
que usamos no segundo passo da nossa formação Tech para Finanças.
Apenas abriremos o arquivo, sem usar o Power Query.
É importante entender que usar Power Query e VBA juntos pode ser complicado, pois o Power Query já realiza algum nível de automação. Normalmente, utilizamos o VBA quando os dados já estão no Excel. É possível usar ambos juntos, mas é mais complexo.
Vamos imaginar que alguém nos pediu para passar os dados para a equipe que faz os relatórios. Eles utilizam o código da empresa com um prefixo "EMP_". Por exemplo, EMP_1000
.
Como você faria isso?
Se fosse uma tarefa única, poderíamos fazer manualmente. No entanto, estamos aqui para aprender a fazer isso com VBA.
Para começar com VBA, acesse a aba "Desenvolvedor". Se não estiver visível, clique com o botão direito, personalize a faixa de opções e ative a guia "Desenvolvedor".
Em seguida, selecione a opção "Gravar Macro". Ao gravar uma macro, o Excel registra o código VBA correspondente às ações realizadas. Vamos nomear a macro como Altera_Codigo_Empresa
, evitando espaços e caracteres especiais. É possível adicionar uma descrição para que outras pessoas entendam o que a macro faz.
Após clicar em "OK", tudo o que fizermos será gravado. Portanto, é importante não realizar ações desnecessárias.
Vamos escrever "EMP_" na célula A2, na frente do 1000
, e parar a gravação imediatamente. O código gerado pode ser visualizado no editor de Visual Basic, acessível pela aba "Desenvolvedor".
No editor, temos o "Project Explorer" à esquerda, onde estão os objetos da pasta de trabalho e os módulos de código do VBA. Módulo é uma folha em branco onde vamos escrever nossos códigos.
Vejamos o código que foi gerado com a gravação da macro:
Sub Altera_Codigo_Empresa()
'
' Altera_Codigo_Empresa Macro
' Coloca a literal "EMP_" antes do código da empresa.
'
Range("A2").Select
ActiveCell.FormulaR1C1 = "EMP_1000"
Range("A3").Select
End Sub
Temos a descrição e o código que faz o que nós executamos. Mas o código gerado pela gravação da macro pode ser simplificado.
No próximo vídeo, aprenderemos como simplificar e utilizar esse código no dia a dia.
Estamos avançando devagar para que todos possam acompanhar. A partir da segunda aula, avançaremos mais rapidamente no VBA.
No próximo vídeo, aprenderemos como modificar e aplicar o código gerado!
Já realizamos o primeiro "gravar macro" e, na verdade, o "gravar macro" vai te salvar várias vezes.
Porque mesmo utilizando a inteligência artificial, às vezes precisamos de algo muito específico e a inteligência artificial está demorando para responder. O "gravar macro" consegue capturar o código específico do que queremos fazer. Talvez seja necessário fazer alguns ajustes, inserir em outro trecho de código de inteligência artificial e realizar o que precisamos.
Para isso, é preciso ter uma base mínima de VBA, que é o que vamos ver neste curso.
Vamos continuar no nosso ritmo da primeira aula, pois quero que você aprenda muito bem esses fundamentos!
Vamos analisar esse código.
Sub Altera_Codigo_Empresa()
'
' Altera_Codigo_Empresa Macro
' Coloca a literal "EMP_" antes do código da empresa.
'
Range("A2").Select
ActiveCell.FormulaR1C1 = "EMP_1000"
Range("A3").Select
End Sub
A primeira coisa que você precisa saber é que o nome da macro sempre aparecerá depois da palavra Sub
.
As palavras em azul são chamadas palavras reservadas e são comandos que o VBA entende.
Sub
, você vai entender que é macro. Sempre que você escrever Sub
, está criando uma nova macro, e então você coloca os parênteses na frente depois do nome da macro.
Em seguida, temos as descrições que nós inserimos e sempre que você coloca uma '
aspa simples, um apóstrofo, está fazendo um comentário. Você pode escrever o que quiser. Porque isso não é código, é apenas um comentário.
Você pode comentar todo o seu código, é uma boa prática.
A parte que está sem as aspas simples é o seu código propriamente dito.
Nessa parte temos comandos que o Excel reconhece.
Range
é um objeto que representa as células ou um conjunto de células. Então, quando escrevemos Range("A2")
, é a mesma coisa que escrever "célula A2".
Select é selecionar. O VBA é uma linguagem muito simples. É em inglês, então, se você não conhece inglês, talvez tenha um pouco de dificuldade no começo, mas é só se acostumar com as palavras. Então, Range("A2").Select
é o mesmo que "selecione a célula A2".
O que é ActiveCell
? É Célula ativa. FormulaR1C1
é a fórmula que está dentro da ActiveCell
. E ele está recebendo "EMP_1000"
.
Na verdade, ela não está fazendo exatamente o que queríamos, ela está colocando uma literal EMP_1000
dentro da célula.
Depois, está selecionando a célula A3, porque foi o que eu fiz logo depois, ou seja, isso aqui nós já podemos deletar, vamos deletar o trecho Range("A3").Select
porque não precisamos disso para o nosso resultado.
Quero que você observe duas coisas importantes.
Primeiro, se deixar desse jeito, ele sempre vai fazer só na célula A2.
E ele está fazendo aqui algo que não é o que queremos. Temos outros valores além de 1000
nessa coluna, lá embaixo tem, por exemplo, células com 2000
. Então precisamos inserir EMP_
junto a o que já temos dentro da célula.
Podemos dizer que queremos EMP_
concatenado com activecell.Value
, ou seja, o valor da célula ativa no momento.
Range("A2").Select
ActiveCell.FormulaR1C1 = "EMP_" & ActiveCell.Value
Vamos verificar se isso funciona.
Eu vou executar de novo, mas sempre que executar isso ele vai colocar um EMP_
a mais na célula. Isso é um problema, vamos resolver esse problema depois, certo? Não se preocupe com esse problema agora.
Não queremos fazer isso só para a célula A2, queremos fazer para várias células.
Agora, vou ensinar um comando que não usaremos muito, mas é importante que você entenda.
For
No VBA, para ter sucesso, é necessário saber como fazer repetições, ou seja, realizar a mesma ação várias vezes. Para isso, existe um loop que é o mais simples de todos, o comando for
.
Vamos criar uma variável de contagem, chamada var_cont
, para não ficar muito extenso. Então, for var_cont
indo de 2 até, até onde eu tenho que ir? Quero ir até o final, até a linha 1.708. Então, vou colocar, para o var_cont
indo de 2 até 1.708, quero fazer alguma coisa e depois quero ir para o next var_cont
, ou seja, para a próxima variável var_cont
.
For var_cont = 2 to 1708
Next var_cont
No código que fizemos anteriormente, vamos tirar o A2 e concatenar com var_cont
.
For var_cont = 2 To 1708
Range("A" & var_cont).Select
ActiveCell.FormulaR1C1 = "EMP_" & ActiveCell.Value
Next var_cont
Provavelmente vai funcionar. Tem problemas no código ainda, mas vamos resolver depois.
Então, vamos rodar o nosso código e agora, o que será que vai acontecer? Preste atenção na coluna A, o que vai acontecer na coluna A, vamos executar? Ele colocou corretamente o EMP_
na frente dos valores da coluna A.
Mas tem um detalhe, cada vez que executar, ele vai adicionar um EMP_
.
Atenção: O atalho "Ctrl + Z" não funciona quando rodamos a macro. Se não tiver uma cópia e você rodar uma macro que destrua a sua planilha, você vai ter que sair sem salvar, se você tiver com salvamento automático, você vai ter que mudar a versão.. Então, cuidado, faça um backup.
Outra coisa é, você reparou que ele demorou muito para fazer o que queríamos? Ele ficou selecionando.
Não precisamos ficar selecionando as células.
E aqui é a primeira dica que vou dar, se você é uma pessoa usuária já mais avançada de VBA, tem um erro muito grande nesse código, que é o seguinte, não devemos quase nunca usar o Select
, porque o Select
faz demorar.
Vamos comparar agora, vou tirar o Select
, em vez de selecionar, vamos fazer esse fórmulaR1C1
no lugar do Select
.
For var_cont = 2 To 1708
Range("A" & var_cont).FormulaR1C1 = "EMP_" & ActiveCell.Value
Next var_cont
Dessa forma a execução é muito mais rápida.
Esse código já nos ajuda, mas ainda queremos que ele pare de adicionar EMP_
toda vez que for executado. Vamos continuar no próximo vídeo.
O curso Agilidade financeira: automatizando relatórios e tarefas com VBA e TypeScript possui 118 minutos de vídeos, em um total de 44 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.