Entre para a LISTA VIP da Black Friday

00

DIAS

00

HORAS

00

MIN

00

SEG

Clique para saber mais
Alura > Cursos de Inteligência Artificial > Cursos de IA para Dados > Conteúdos de IA para Dados > Primeiras aulas do curso VBA e ChatGPT: potencializando as automações

VBA e ChatGPT: potencializando as automações

Conhecendo o projeto do curso - Apresentação

Olá! Boas-vindas a mais um curso de inteligência artificial com Excel. Sou o Roberto Sabino e serei seu instrutor.

Audiodescrição: Roberto é um homem de pele clara, cabelo e barba escuros, um pouco grisalhos, e olhos castanhos. Usa camiseta preta, está sentado e com um microfone preto à sua frente. Ao fundo, uma parede lisa com iluminação azul.

Esse curso é para você que precisa realizar algumas automações no seu dia a dia, para você que está começando a utilizar o VBA e precisa de ideias de como usar a inteligência artificial para potencializar essas automações.

Abordaremos assuntos mais avançados, mas faremos tudo passo a passo para que você acompanhe todas as etapas. Tudo é uma questão de treino!

Começaremos aprendendo como gerar algoritmos com a IA. Relembraremos como são as integrações do Excel com o ChatGPT e também começaremos a compará-lo com o Bard.

Essas inteligências artificiais geram códigos um pouco diferentes, assim, podemos fazer um refinamento, passando pelas duas para verificar se há problemas em um código, por exemplo.

Também vamos a aprender como manipular códigos VBA com o próprio código VBA. Interessante, não é? E se conseguíssemos adicionar um módulo automaticamente em uma planilha qualquer? Também aprenderemos isso.

Estudaremos o refinamento de código e como inseri-lo automaticamente. Por fim, aprenderemos alguns temas avançados utilizando a IA. Inclusive, na última aula, teremos uma participação especial que com certeza você irá adorar.

Ao concluir esse curso você terá uma boa perspectiva sobre como realizar automações utilizando IA.

Este curso foi desenvolvido para que você tenha uma aprendizagem ativa. Isto significa que além dos vídeos, você terá exercícios práticos para poder aprimorar todo o conhecimento adquirido.

Você também terá acesso ao Fórum para tirar dúvidas e o canal do Discord para interagir com a comunidade.

Te esperamos na primeira aula pata começar essas automações tão interessantes!

Conhecendo o projeto do curso - Limpeza de dados com VBA

Vamos começar a praticar utilizando dados importados.

Sabe quando importamos e os dados vem com caracteres adicionais, nomes estranhos e outros elementos que não desejamos? Muitas vezes, temos dificuldades em limpar esses dados e saber qual recurso do Excel deve ser utilizado.

Uma opção seria utilizar o VBA, porém, cada importação tem suas características específicas, fazendo com que seja desafiador criar um VBA que sirva para todas as situações.

Com a Inteligência Artificialpodemos gerar um algoritmo novo sempre que precisarmos limpar os dados, tudo isso de forma rápida.

É exatamente isso que tentaremos fazer nessa aula, automatizar a limpeza de dados.

Limpeza de dados com VBA

No nosso arquivo de importação, vieram três caracteres estranhos na coluna A, antecedendo o Nome do cliente. Além disso, também há um caractere estranho no final da coluna Telefone.

Antes de fazermos essa limpeza, vamos relembrar algumas informações importantes sobre a inteligência artificial.

O uso ético da IA depende de cada um de nós. Nesse caso, estamos usando para gerar dados fictícios.

Solicitamos que o ChatGPT simulasse uma importação de dados no Excel de uma planilha de clientes. Os nomes dos clientes vieram com caracteres estranhos no início e o telefone do cliente veio com um hashtag após o número.

Em seguida, pedimos que gerasse uma tabela com um exemplo fictício desses dados com pelo menos 20 linhas. Feito isso, copiamos esses dados e colamos no Excel.

Nome do ClienteData de NascimentoCidadeE-mailTelefone
#$%João da Silva15/02/1987 5São Paulojoao.silva@email.com(11) 98765-4321#
#$%Maria Ferreira21/03/1992Rio de Janeiromaria_ferreira@email.com(21) 98765-4321#
#$%Carlos Sousa10/08/1980Belo Horizontecarlos_sousa@email.com(31) 3333-3333#
#$%Ana Santos05/11/1998Salvadorana.santos@email.com(71) 98765432#
#$%Pedro Oliveira12/06/1989Brasíliapedro.oliveira@gmail.com.br(61) 88888-8888#
#$%Laura Gonçalves30/04/1995Curitibalaura_goncalves@email.com(41) 87654321#
#$%André Lima25/09/1983Porto Alegreandre.lima@emaill.com.br(51) 9876-5432#
#$%Maria da Silva03/12/1976Recifemaria_silva@email.com(81) 98765432#
#$%José da Costa20/06/1979Fortalezajose_costa@email.com(85) 99999-9999#
#$%Paula Machado22/10/1990São Paulopaula.machado@email.com(11) 8765-4321#
#$%Luisa Fernandes18/09/1985Rio de Janeiroluisa_fernandes@email.com(21) 98765-4321#
#$%Fábio Rodrigues07/04/1982Belo Horizontefabio.rodrigues@email.com(31) 3333-3333#
#$%Marta Santos25/11/1991Salvadormarta.santos@email.com(71) 98765432#
#$%Rómulo Oliveira10/08/1984Brasíliaromulo.oliveira@gmail.com(61) 88888-8888#
#$%Carolina Martins15/07/1993Curitibacarolina.martins@email.com(41) 87654321#
#$%Gabriel Gomes12/03/1978Porto Alegregabriel.gomes@emaill.com.br(51) 9876-5432#
#$%Maria Costa28/02/1989Recifemaria.costa@email.com(81) 98765432#
#$%Jackson da Costa20/06/1975Fortalezajackson.costa@email.com(85) 99999-9999#
#$%Maria Tavares22/10/1980São Paulomaria.tavares@email.com(11) 8765-4321#
#$%Julia Fernandes18/09/1995Rio de Janeirojulia_fernandes@email.com(21) 98765-4321#

Entretanto, é importante ressaltar que, apesar das inteligências artificiais serem assistentes valiosos, não respondem totalmente ao que precisamos.

Portanto, neste curso, aprenderemos como tomar certas precauções para que os códigos gerados pela IA não prejudiquem nosso trabalho.

Após esta contextualização, o próximo passo é gerar um código para limpar esses dados. Faremos isso em duas etapas.

Primeiro, usaremos o Bard, a inteligência artificial da Google, e solicitar que gere um código VBA para limpar isso.

Para isso, usamos o seguinte prompt:

Gere um código VBA para Excel, para executar os seguintes passos:
1- Prcorrer todas as linhas da planilha atualmente selecionada, que possuam dados na coluna A. Assim que houver uma célula em branco, parar o processamento; 
2- Pra cada linha, retirar os primeiros 3 caracteres do texto que estiver na coluna A; 
3- Pra cada linha, retirar o último caractere do número que está na coluna D;

Não se preocupe com a criação dos prompts. Ao longo desse curso, assim como em outros de IA, daremos dicas de como você pode criá-lo para ter a melhor resposta possível.

Analisando o prompt, notamos que a informação do passo 3 está errada, pois a coluna de telefone não é a D. Mas, daremos continuidade para entender o que o Bard sugeriu como código.

 Claro, aqui está um código VBA para Excel que executa os passos que você solicitou:
 
 Sub limparDados()
 'Percorrer todas as linhas da planilha atualmente selecionada, que possuam dados na coluna A. Assim que houver uma célula em branco, parar o processamento
 Dim linha As Long
 Dim celula As Range
 
 linha = 2
 Do While linha <= ActiveSheet.UsedRange.Rows.Count
 
 'Para cada linha, retirar os primeiros 3 caracteres do texto que estiver na coluna A
 If ActiveSheet.Cells(inha, 1).Value> Then
 ActiveSheet.Cells(linha, 1).Value = Mid(ActiveSheet.Cells(linha, 1).Value, 4)
 End If
 'Para cada linha, retirar o último caractere do número que está na coluna D
 If ActiveSheet.Cells(linha, 4).Value <> "" Then
 ActiveSheet.Cells(linha, 1).Value = Mid(ActiveSheet.Cells(linha, 1).Value,4)
 End If
 
 'Para cada linha, retirar o último caractere do número que está na coluna D
 If ActiveSheet.Cells(linha, 4).Value <> "" Then
 ActiveSheet.Cells(linha, 4).Value = Left(ActiveSheet.Cells(linha, 4).Value, Len(ActiveSheet.Cells(linha, 4).Value) - 1)
 End If
 
 linha = linha + 1
 Loop
 
 End Sub

Vamos testar. Para isso, copiamos todo o trecho de código sugerido pela IA.

Lembrando que para trabalhar em conjunto com a IA é essencial ter um conhecimento básico em VBA, assim como Excel, Power BI, funções e outras ferramentas que você precise utilizar. Isso porque a IA não fará tudo, é importante que você analise o que é sugerido.

Em seguida, colaremos esse código em uma planilha em branco. Porém, se colarmos de forma tradicional, a ferramenta irá colocar todo o conteúdo nas primeiras linhas e isso está incorreto. Se voltarmos no Bard, notamos que o código possui várias linhas.

É por esse motivo que, nesse caso, é preferivel o ChatGPT, pois ele tem uma opção de copiar e colar o código de maneira estruturada. Mas, nesse curso usaremos as duas ferramentas para aprendermos a utilzar ambas.

Então, na barra de menu do Excel, clicamos em "Colar > Colar Especial". Feito isso, abre uma janela. Nela, no campo Como, selecionamos a opção "Texto unicode" e clicamos no botão "Ok". Dessa forma o código é colado corretamente.

Se você já fez o curso de automatização do Excel utilizando o ChatGPT já sabe que conseguimos realizar alguns processos diretamente. Nesse caso, utilizaremos a função abaixo, que verifica automaticamente no ChatGPT em dois momentos diferentes.

Caso você ainda não tenha visto nenhum curso de Excel com ChatGPT recomendamos que você procure na plataforma. Em breve vamos explicar essa função mais detalhadamente.

LABS.GENERATIVEAI("Verifique se o código a seguir pode ser usado ou precisa de ajustes. Código: " & UNIRTEXTO(CARACTUNICODE(10); VERDADEIRO;'Ajuste de Código IA:A))

Utilizamos essa função na planilha Verificação. Feito isso, o Correção foi autopreenchido pela IA da seguinte forma:

Correção: O código parece estar correto. Ele percorre todas as linhas da planilha selecionada, remove os primeiros 3 caracteres da coluna A e o último caractere da coluna D, desde que as células não estejam vazias. No entanto, é importante lembrar de selecionar a planilha correta antes de executar o código.

Isso é realmente importante. Pois, se executarmos a macro da planilha errada, poderá causar problemas e não há como desfazer a operação.

A segunda verificação foi feita no campo Segurança para verificar se o código pode causar algum problema. Ele foi preenchido conforme abaixo:

Segurança: Não foram identificadas falhas de segurança ou potenciais prejuízos ao usuário nesse código. No entanto, é sempre recomendado fazer um backup dos dados antes de executar qualquer código que altere ou exclua informações.

Lembrando que não se deve pegar um código da IA e rodá-lo antes de analisá-lo, isso pode dar sérios problemas. Repare que o conselho do ChatGPT é crucial, pois recomenda a realização de um backup dos dados, principalmente se forem importantes.

Agora, no campo Pasta de trabalho, clicamos na seta ao lado direito e selecionamos a opção "Teste importacao - Aula 1.xlsm". Feito isso, a planilha indica não haver nenhum módulo nem procedimento atual.

Então, criaremos um módulo, um VBA chamado LimpaDadosCliente. Para isso, na planilha Verificação, clicamos no botão "Adicionar Código na Planilha selecionada", localizado na lateral superior direita.

Feito isso, aparece uma janela dizendo que esse módulo foi adicionado ao projeto VBA com sucesso. Então, a partir de agora, a planilha possui um código que limpa a importação de caracteres estranhos.

Vamos testar se isso funciona? Para isso, na barra de menu superior, clicamos em "Desenvolvedor" e depois na ferramenta "Macros", localizada na lateral esquerda. Assim, abre uma janela. Nela, conseguimos verificar que a macro limparDados está presente na planilha.

Criamos uma macro chamada LimpaDadosCliente. Embora o nome tenha aparecido diferente, repare que esse se refere ao nome do módulo. O nome está diferente, pois este é o nome do módulo. Ao longo do curso explicaremos isso com mais detalhes.

Agora, supondo que já realizamos o backup e já tenho esses dados em outro lugar, vamos rodar o código. Lembrando também que cometemos um erro na solicitação da coluna D, que, na verdade, deveria ser E.

Para isso, clicamos em "Macros" novamente e depois em "Executar". Feito isso, nossa planilha fica da seguinte forma:

Nome do ClienteData de NascimentoCidadeE-mailTelefone
João da Silva15/02/1987 5São Paulojoao.silva@email.co(11) 98765-4321#
Maria Ferreira21/03/1992Rio de Janeiromaria_ferreira@email.co(21) 98765-4321#
Carlos Sousa10/08/1980Belo Horizontecarlos_sousa@email.co(31) 3333-3333#
Ana Santos05/11/1998Salvadorana.santos@email.co(71) 98765432#
Pedro Oliveira12/06/1989Brasiliapedro.oliveira@gmail.com.b(61) 88888-8888#
Laura Gonçalves30/04/1995Curitibalaura_goncalves@email.co(41) 87654321#
André Lima25/09/1983Porto Alegreandre.lima@emaill.com.b(51) 9876-5432#
Maria da Silva03/12/1976Recifemaria_silva@email.co(81) 98765432#
José da Costa20/06/1979Fortalezajose_costa@email.co(85) 99999-9999#
Paula Machado22/10/1990São Paulopaula.machado@email.co(11) 8765-4321#
Luisa Fernandes18/09/1985Rio de Janeiroluisa_fernandes@email.co(21) 98765-4321#
Fábio Rodrigues07/04/1982Belo Horizontefabio.rodrigues@email.co(31) 3333-3333#
Marta Santos25/11/1991Salvadormarta.santos@email.co(71) 98765432#
Romulo Oliveira10/08/1984Brasíliaromulo.oliveira@gmail.co(61) 88888-8888#
Carolina Martins15/07/1993Curitibacarolina.martins@email.co(41) 87654321#
Gabriel Gomes12/03/1978Porto Alegregabriel.gomes@emaill.com.b(51) 9876-5432#
Maria Costa28/02/1989Recifemaria.costa@email.co(81) 98765432#
Jackson da Costa20/06/1975Fortalezajackson.costa@email.co(85) 99999-9999#
Maria Tavares22/10/1980São Paulomaria.tavares@email.co(11) 8765-4321#
Julia Fernandes18/09/1995Rio de Janeirojulia_fernandes@email.co(21) 98765-4321#

Repare que a coluna A foi limpa, agora não possui mais os caracteres estranhos. Como solicitamos errado, a coluna E continua errada e o último caractere da coluna D foi apagado.

A princípio tudo funcionou corretamente. Com alguns cliques, podemos criar novos códigos de limpeza rapidamente.

Nesse curso, aprenderemos a criar esta planilha completa e entender como ela funciona. No fim do curso você terá essa planilha disponível para ser utilizada no seu dia a dia de trabalho.

A partir de agora, descobriremos todos os segredos por trás das planilhas.

Conhecendo o projeto do curso - Organização do projeto VBA

Ao longo do curso, teremos vários desafios para desvendar, mas começaremos pelo projeto VBA, mais especificamente com a planilha do vídeo anterior.

Organizando o projeto VBA

No Excel, na barra de menu superior, clicamos na seção Desenvolvedor e depois na ferramenta "Visual Basic", na lateral esquerda.

Feito isso, na nova janela, notamos que há dois projetos, um chamado Automatizando as automações e o Teste importacao - Aula 1 relacionado à planilha que estamos criando a importação.

O primeiro passo é entender que são duas planilhas diferentes. Uma delas é uma planilha utilitária que ajudará a validar o código e enviá-lo para outra planilha que executa o código.

Dentro da planilha Automatizando as automações, que será nossa ferramenta de trabalho, temos dois módulos já criados. No decorrer das aulas, aprenderemos como foram feitos utilizando as IAs.

Porém, é importante ressaltar que para criar códigos mais complexos é necessário um pouco de conhecimento, pois será necessário pegar as sugestões da IA e ajustar.

A habilidade mais importante que desenvolveremos ao longo do curso é a criação de bons prompts e, posteriormente, o tratamento desse código.

A segunda planilha, que contém os dados importados, possui um módulo que pedimos para adicionar chamado LimpaDadosCliente. Note que a macro associada a ela é nomeada limparDados(). Esse código é exatamente o mesmo que estava na coluna do Excel que analisamos no vídeo anterior.

Considerando o mecanismo, ou seja, como funciona. Esse código será pego da planilha do Excel exatamente como está, sem validação ou alteração e depois enviado para o VBA.

Embora isso tenha sido feito automaticamente, o código não teve melhorias. Posteriormente, explicaremos como fazemos o processo de melhoria de códigos dentro das IAs.

Se salvarmos essa planilha e precisarmos usar o código novamente, ele funcionará? A resposta é sim! Essa é uma planilha como qualquer outra, porém com a capacidade de limpar dados que estejam neste formato.

Nesse caso, se executássemos o código novamente, o VBA cortaria os três primeiros caracteres da coluna A. Isso aconteceria, pois não há validações. Inclusive, isso é algo que podemos começar a pensar, ou seja, como podemos estabelecer critérios para prevenir que a importação de dados seja corrompida.

O mais importante, principalmente para quem tem menos conhecimento em VBA, é saber que será gerado o que foi solicitado. Por exemplo, pedimos para modificar a coluna D ao invés de alterar a coluna do telefone, já que assim ficaria mais complexo. Mas como solicitamos a coluna errada, agora precisamos ajustar essa informação da coluna D para E.

Já se você tem um pouco mais de conhecimento em VBA, te convidamos a analisar o código novamente. Você irá perceber que o código possuía declaração de uma variável, o começo de loop, um tratamento da linha na coluna 1 e na coluna 4.

Se você não tiver tanto conhecimento sobre o tema, pode utilizar o comentário para te auxiliar na leitura do código.

Para corrigirmos a coluna, substituiremos o número 4, que se refere a coluna D para 5, que se refere a coluna E em todo o código. Ficando da seguinte forma:

 Sub limparDados()
 'Percorrer todas as linhas da planilha atualmente selecionada, que possuam dados na coluna A. Assim que houver uma célula em branco, parar o processamento
 Dim linha As Long
 Dim celula As Range
 
 linha = 2
 Do While linha <= ActiveSheet.UsedRange.Rows.Count
 
 'Para cada linha, retirar os primeiros 3 caracteres do texto que estiver na coluna A
 If ActiveSheet.Cells(inha, 1).Value> Then
 ActiveSheet.Cells(linha, 1).Value = Mid(ActiveSheet.Cells(linha, 1).Value, 4)
 End If
 'Para cada linha, retirar o último caractere do número que está na coluna D
 If ActiveSheet.Cells(linha, 4).Value <> "" Then
 ActiveSheet.Cells(linha, 1).Value = Mid(ActiveSheet.Cells(linha, 1).Value,4)
 End If
 
 'Para cada linha, retirar o último caractere do número que está na coluna E
 If ActiveSheet.Cells(linha, 5).Value <> "" Then
 ActiveSheet.Cells(linha, 5).Value = Left(ActiveSheet.Cells(linha, 5).Value, Len(ActiveSheet.Cells(linha, 5).Value) - 1)
 End If
 
 linha = linha + 1
 Loop
 
 End Sub

Agora o código está ajustado. Então, podemos executar novamente? Não! Se fizermos isso teremos um problema, pois os primeiros caracteres do nome serão cortados novamente.

Então, vamos voltar no ChatGPT, pegar os dados da tabela novamente e colar no Excel. Agora, sim, podemos rodar o código, que já não é mais o mesmo, pois fizemos alterações nele.

Para executar, na lateral direita do menu superior, clicamos em "Macros" e depois no botão "Executar". Deu certo!

Nome do ClienteData de NascimentoCidadeE-mailTelefone
João da Silva2/15/1987São Paulojoao.silva@email.com(11) 98765-4321
Maria Ferreira3/21/1992Rio de Janeiromaria_ferreira@email.com(21) 98765-4321
Carlos Sousa8/10/1980Belo Horizontecarlos_sousa@email.com(31) 3333-3333
Ana Santos11/5/1998Salvadorana.santos@emailcom(71) 98765432
Pedro Oliveira6/12/1989Brasíliapedro.oliveira@gmail.com.br(61) 88888-8888
Laura Gonçalves4/30/1995Curitibalaura_goncalves@email.com(41) 87654321
André Lima9/25/1983Porto Alegreandre.lima@emaill.com.br(51) 9876-5432
Maria da Silva12/3/1976Recifemaria.silva@email.com(81) 98765432
José da Costa6/20/1979Fortalezajose_costa@email.com(85) 99999-9999
Paula Machado10/22/1990São Paulopaula.machado@email.com(11) 8765-4321
Luísa Fernandes9/18/1985Rio de Janeiroluisa_fernandes@email.com(21) 98765-4321
Fábio Rodrigues4/7/1982Belo Horizontefabio.rodrigues@emailcom(31) 3333-3333
Marta Santos11/25/1991Salvadormarta.santos@email.com(71) 98765432
Rômulo Oliveira8/10/1984Brasíliaromulo.oliveira@gmail.com(61) 88888-8888
Carolina Martins7/15/1993Curitibacarolina.martins@email.com(41) 87654321
Gabriel Gomes3/12/1978Porto Alegregabriel.gomes@emaill.com.br(51) 9876-5432
Maria Costa2/28/1989Recifemaria.costa@email.com(81) 98765432
Jackson da Costa6/20/1975Fortalezajackson_costa@email.com(85) 99999-9999
Maria Tavares10/22/1980São Paulomaria.tavares@email.com(11) 8765-4321
Julia Fernandes9/18/1995Rio de Janeirojulia_fernandes@email.com(21) 98765-4321

Agora o nome está limpo, assim como o telefone. Sendo assim, já fizemos duas coisas. Criamos o primeiro código, o validamos e com conhecimento suficiente, fizemos os ajustes necessários para realizar o que queríamos.

Podemos salvar essa planilha. Sempre que tivermos um conjunto de dados com essas mesmas características, podemos rodar esse código que irá funcionar.

Então, imagine que todos os dias você precise buscar dados, colar em um arquivo e limpar manualmente os caracteres estranhos. Nesse caso você consegue fazer isso de forma automatizada a partir dessa planilha.

É isso que precisamos pensar quando usamos a inteligência artificial como um acelerador. Ela não resolve todos os problemas, mas ela realiza essas ações mais rápido do que faríamos sozinhos.

Além disso, se pararmos para refletir, nesse caso utilizamos IA para criar a planilha e também para impulsionar a otimização. Assim, otimizamos toda a cadeia de trabalho e podemos, inclusive, continuar aprimorando para nos tornarmos mais produtivos.

No próximo vídeo, descobriremos como ajustar ou acrescentar elementos utilizando o aprimoramento de código com o auxílio da inteligência artificial. Até lá!

Sobre o curso VBA e ChatGPT: potencializando as automações

O curso VBA e ChatGPT: potencializando as automações possui 151 minutos de vídeos, em um total de 41 atividades. Gostou? Conheça nossos outros cursos de IA para Dados em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

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

Aprenda IA para Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas