Skip to main content

Hoje eu vou te mostrar como usar o ChatGPT para criar código VBA para a sua planilha do Excel e para automatizar o seu trabalho.

banner curso IA aplicada ao Excel

Um desafio que eu tenho as vezes é o de imprimir tabelas que mudam com o tempo. Nesses casos normalmente você tem 2 opções:

  • Criar um intervalo de impressão gigante que pegue todas as linhas da tabela (as vezes, milhares em branco) ou
  • Criar o intervalo de impressão manualmente toda vez que precisar gerar um PDF dessa tabela

Nenhuma dessas soluções é ótima e, por isso, resolvi usar o ChatGPT para me ajudar a criar um código VBA que automatize essa tarefa facilmente. Vamos lá.

O que é e como usar o ChatGPT

O ChatGPT é um modelo de inteligência artificial desenvolvido pela OpenAI. Ele é capaz de gerar respostas para perguntas e realizar tarefas de linguagem natural, utilizando um vasto conhecimento de dados que foram previamente treinados em seu sistema.

Nesse post eu explico com detalhes o que é e como usar o ChatGPT no Excel e mostro alguns exemplos.

ChatGPT para criar código VBA

Deixa eu te mostrar o passo a passo detalhado que temos que passar para usar o ChatGPT para criar código VBA que gera um intervalo de impressão dinâmico no Excel:

Desafio

Começando pelo nosso desafio (e você poderia ter qualquer outro que a lógica seria similar), eu tenho uma tabela que vai aumentando ao longo do tempo e, eu gostaria, de sempre ter um intervalo de impressão com o exato tamanho do preenchimento.

como usar o chatgpt para criar código vba de intervalo de impressão dinâmico - tabela

Ou seja, se eu tenho 21 clientes, gostaria que o intervalo só fosse até a linha 24 (linha correspondente ao cliente 21) e assim sucessivamente, para quando eu aumentar o meu cadastro de clientes, eu já ter o intervalo de impressão prontinho, sem eu precisar reajustar manualmente.

Para isso, vou entrar agora no ChatGPT e pedir para ele gerar esse código VBA para mim.

Prompt para gerar código VBA via ChatGPT

Esse foi o prompt que eu usei no ChatGPT para esse meu caso específico:

banner curso IA aplicada ao Excel

>>> Tenho uma tabela no Excel que fica na aba “Impressão Dinâmica com ChatGPT”, no intervalo C3:F1003 e gostaria que você escrevesse um código vba para criar um intervalo de impressão dinâmico para imprimir essa tabela de acordo com os valores da coluna C. Se a coluna C estiver preenchida, o intervalo dessa linha das colunas C até F farão parte do intervalo de impressão, se estiver em branco, não deverão fazer parte

Observe que eu fui bastante detalhista (isso é importante) e coloquei o nome da aba, o intervalo da tabela onde meus dados são inseridos e o que eu preciso. Veja como fica no próprio ChatGPT:

como usar o chatgpt para criar código vba de intervalo de impressão dinâmico - prompt no chatgpt

E o resultado que ele me retornou foi o seguinte código

Sub CriarIntervaloImpressaoDinamico()
    Dim planilha As Worksheet
    Dim ultimaLinha As Long
    Dim intervaloImpressao As Range
    Dim linha As Long
    
    ' Definir a planilha onde está a tabela
    Set planilha = ThisWorkbook.Sheets("Impressão Dinâmica com ChatGPT")
    
    ' Encontrar a última linha com dados na coluna C
    ultimaLinha = planilha.Cells(Rows.Count, 3).End(xlUp).Row
    
    ' Inicializar o intervalo de impressão
    Set intervaloImpressao = planilha.Range("C3:F3")
    
    ' Percorrer as linhas da coluna C
    For linha = 4 To ultimaLinha
        ' Verificar se a célula da coluna C está preenchida
        If Not IsEmpty(planilha.Cells(linha, 3).Value) Then
            ' Adicionar a linha ao intervalo de impressão
            Set intervaloImpressao = Union(intervaloImpressao, planilha.Range("C" & linha & ":F" & linha))
        End If
    Next linha
    
    ' Definir o intervalo de impressão na planilha ativa
    With planilha.PageSetup
        .PrintArea = intervaloImpressao.Address
    End With
    
    ' Imprimir a planilha
    planilha.PrintOut
End Sub

Agora vamos precisar entrar no Visual Basic justamente para adicionar esse código VBA na nossa planilha.

Habilitar a Guia Desenolvedor

Para isso você precisará entrar na guia DESENVOLVEDOR:

guia desenvolvedor no excel - como habilitar

Como por padrão ela não fica habilitada, você precisará habilitar a guia DESENVOLVEDOR. Esse processo é bem simples, bastando clicar com o botão direito em qualquer área do menu e escolher a opção de personalizar a faixa de opções.

guia desenvolvedor no excel - como habilitar - personalizar faixa de opções

Depois é só habilitar a opção da guia Desenvolvedor e acessar o Visual Basic (opção mais à esquerda)

guia desenvolvedor no excel - funcionalidades

Criar o módulo e código VBA

Já dentro do Visual Basic Editor (VBE), você precisará criar um módulo novo, caso a sua planilha não tenha nenhum, pois são nos módulos que armazenamos os códigos VBA que automatizarão esse processo pra gente.

Para isso, basta clicar com o botão direito na lista de abas da sua planilha, escolher INSERIR e selecionar MÓDULO, conforme indico na imagem abaixo:

como usar o chatgpt para criar código vba de intervalo de impressão dinâmico - inserir modulo

Depois disso, no módulo, você vai copiar e colar o código VBA que o ChatGPT forneceu:

como usar o chatgpt para criar código vba de intervalo de impressão dinâmico - código vba no módulo

Se o código tiver algum erro, vai aparecer escrito em vermelho. Caso contrário ficará conforme mostro acima, com textos azuis e pretos (código propriamente dito) e em verde (comentários). Agora só precisamos rodar o código

Executar o código VBA

Para isso, no próprio VBE com alguma linha do código selecionado, aperte F5 ou vá para a guia desenvolvedor na sua planilha, clique em MACROS e escolha o seu código para ser executado.

Se tudo der certo, você vai ver que o intervalo vai pegar exatamente a quantidade de itens que você preencheu conforme indico abaixo:

como usar o chatgpt para criar código vba de intervalo de impressão dinâmico - intervalo de impressao

Vídeo de Uso do ChatGPT para criar código VBA no Excel

Nesse vídeo eu expliquei esse mesmo passo a passo detalhadamente:

Que código VBA você quer?

Se você tiver alguma curiosidade de como usar códigos VBA me manda aqui nos comentários que vou adorar usar o ChatGPT para escrever o código e testar em novos posts ou vídeos.

banner curso IA aplicada ao Excel

Leave a Reply