Como Enviar WhatsApp com Excel e VBA

03 de fevereiro de 2026 Atualizado 08 de julho de 2026 7 min de leitura
Enviar Whatsapp VBA Excel 2026 Capa

A automação de tarefas repetitivas é um dos pilares da produtividade moderna. Uma das demandas mais comuns no mundo corporativo é o envio em massa de mensagens, cobranças ou relatórios via WhatsApp.

Neste artigo, vamos dissecar uma solução prática usando Excel VBA e a técnica de SendKeys para enviar mensagens e anexos automaticamente, sem a necessidade de APIs pagas.

1. Estruturando a Planilha de Controle

Para que o código VBA funcione, a planilha precisa estar organizada de forma padronizada. O script lê linha por linha para identificar quem deve receber a mensagem.

O Layout da Ferramenta

A interface deve ser limpa e funcional. Conforme vemos na imagem abaixo, temos um cabeçalho simples e um botão para disparar a macro.

Organização das Colunas

A lógica do código depende estritamente da posição das colunas. Baseado no código e na imagem dos dados, a estrutura deve ser:

  • Coluna B (Contato): Nome exato do contato ou número (como salvo na agenda/WhatsApp).
  • Coluna C (Mensagem): O texto que será enviado.
  • Coluna D (Tipo): Define se o anexo é "ARQUIVO" (documentos gerais) ou "IMAGEM".
  • Coluna E (Arquivo 1): O caminho completo do arquivo no computador (ex: C:\User\Documentos\boleto.pdf).
  • Coluna F (Data e Hora): Onde o código registrará automaticamente quando o envio foi feito.

Dica de SEO para Planilhas: Mantenha seus dados tabulados. O código verifica se a Coluna F está vazia. Se estiver, ele envia. Se já tiver data, ele pula. Isso evita envios duplicados.

Enviar whatsapp excel vba 1

2. O Motor da Automação: Entendendo o Código VBA

O segredo dessa automação está no Visual Basic for Applications (VBA). O código utiliza a função SendKeys, que simula o pressionamento de teclas do teclado (como TAB, ENTER) para "navegar" pelo WhatsApp Web no navegador Chrome.

Abaixo, explicamos o funcionamento do script lsNovoEnviarWhatsApp bloco por bloco:

Variáveis e Inicialização

VBA

Public Sub lsNovoEnviarWhatsApp()
    Dim lUltimaLinha    As Long
    Dim i               As Long
    Dim lContato        As String
    ' ... outras declarações ...

    'Abre o WhatsApp no Chrome
    Shell "C:\Program Files\Google\Chrome\Application\chrome.exe" & " https://web.whatsapp.com/"

    Application.Wait Now + TimeValue("00:00:10")
  • O que faz: Abre o Google Chrome diretamente no site do WhatsApp Web.
  • Importante: O comando Wait pausa o Excel por 10 segundos. Esse tempo é crucial para dar tempo ao site carregar e conectar ao seu celular.

O Loop de Verificação

VBA

    lUltimaLinha = WhatsApp.Cells(WhatsApp.Rows.Count, 2).End(xlUp).Row

    'Faz o loop pelas linhas da tabelas (começando da linha 7)
    For i = 7 To lUltimaLinha
        If WhatsApp.Cells(i, 6).Value = "" Then
            ' Carrega as variáveis com os dados da planilha
            lContato = WhatsApp.Cells(i, 2).Value
            lMensagem = WhatsApp.Cells(i, 3).Value
            lTipo = UCase(WhatsApp.Cells(i, 4).Value)
            lArquivo = WhatsApp.Cells(i, 5).Value
  • Lógica: O código varre a planilha da linha 7 até a última preenchida.
  • Filtro: A condição If WhatsApp.Cells(i, 6).Value = "" garante que apenas linhas sem data de envio (pendentes) sejam processadas.

Esta é a parte mais crítica do SendKeys. O código pressiona TAB repetidamente para mover o cursor do navegador até a caixa de busca do WhatsApp.

VBA

            If i = 7 Then
                'Primeiro contato: Precisa de 4 TABs para chegar na busca
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
            Else
                'Próximos contatos: O foco já está na área certa, repete a navegação
                Application.Wait Now + TimeValue("00:00:02")
                ' ...sequência de TABS...
            End If

            SendKeys lContato  ' Digita o nome do contato
            SendKeys "{ENTER}" ' Entra na conversa

Envio de Anexos (Arquivos ou Imagens)

O código diferencia o tipo de anexo para saber como navegar no menu "Clips" (Anexar) do WhatsApp.

VBA

            'Enviar arquivo
            If lTipo = "ARQUIVO" Then
                SendKeys "+{TAB}" ' Shift + TAB (Volta para o ícone de clips)
                ' ... navegação para selecionar Documento ...
                SendKeys lArquivo ' Cola o caminho do arquivo
            Else
                ' Lógica para Imagem (Geralmente desce uma seta a mais no menu)
                SendKeys "+{TAB}"
                SendKeys "{DOWN}" ' Desce para selecionar Fotos/Vídeos
                ' ...
            End If
  • SendKeys "+{TAB}": Representa o atalho Shift + Tab. No WhatsApp Web, isso move o foco da caixa de texto para o botão de anexar (o clipe de papel).
  • Caminho do Arquivo: O código "digita" o caminho do arquivo na janela de upload do Windows e aperta Enter para carregar.

Finalização e Registro

VBA

            'Gravar a data e horário de envio para não enviar novamente
            WhatsApp.Cells(i, 6).Value = Now
        End If
    Next i

    MsgBox "Mensagens enviadas!"
End Sub

Ao final do envio de cada linha, o Excel carimba a data atual na Coluna F. Isso evita spam ou duplicidade caso você rode a macro novamente.

3. Requisitos e Cuidados

Para que essa automação funcione perfeitamente, considere os pontos abaixo:

  1. Nome da Planilha: No código, o objeto da planilha é chamado de WhatsApp. Certifique-se de que, no VBE (Janela de Propriedades), o CodeName da sua planilha seja alterado para WhatsApp ou altere o código para Sheets("NomeDaAba").
  2. Não toque no mouse: O método SendKeys simula seu teclado. Se você clicar em outra janela enquanto o código roda, o Excel começará a "digitar" na janela errada, causando erros.
  3. Caminho do Chrome: Verifique se o caminho C:\Program Files\Google\Chrome\Application\chrome.exe é o correto para o seu computador.
  4. Resolução da Tela: A quantidade de vezes que o comando {TAB} é pressionado pode variar dependendo do zoom do navegador ou tamanho do monitor. Se o código não encontrar a barra de busca, ajuste a quantidade de SendKeys "{TAB}".

Código VBA de Envio de Whatsapp Excel VBA

Código pronto para envio de whatsapp em Excel com VBA.

Public Sub lsNovoEnviarWhatsApp()
    Dim lUltimaLinha    As Long
    Dim i               As Long
    Dim lContato        As String
    Dim lMensagem       As String
    Dim lArquivo        As String
    Dim lTipo           As String
       
    'Abre o WhatsApp
    Shell "C:\Program Files\Google\Chrome\Application\chrome.exe" & " https://web.whatsapp.com/"
    
    Application.Wait Now + TimeValue("00:00:10")
    
    lUltimaLinha = WhatsApp.Cells(WhatsApp.Rows.Count, 2).End(xlUp).Row
    
    'Faz o loop pelas linhas da tabelas
    For i = 7 To lUltimaLinha
        If WhatsApp.Cells(i, 6).Value = "" Then
            lContato = WhatsApp.Cells(i, 2).Value
            lMensagem = WhatsApp.Cells(i, 3).Value
            lTipo = UCase(WhatsApp.Cells(i, 4).Value)
            lArquivo = WhatsApp.Cells(i, 5).Value
            
            'Localiza o contato e envia a mensagem
            If i = 7 Then
                'Primeiro contato
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                'SendKeys "{TAB}"
                'SendKeys "{TAB}"
            Else
                Application.Wait Now + TimeValue("00:00:02")
                'Próximo contato
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
            End If
            
            Application.Wait Now + TimeValue("00:00:02")
            SendKeys lContato
            Application.Wait Now + TimeValue("00:00:02")
            SendKeys "{ENTER}"
            SendKeys lMensagem
            Application.Wait Now + TimeValue("00:00:03")
            SendKeys "{ENTER}"
            
            'Enviar arquivo
            If lTipo = "ARQUIVO" Then
                SendKeys "+{TAB}"
                SendKeys "+{TAB}"
                SendKeys "{ENTER}"
                SendKeys "{ENTER}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys lArquivo
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
            Else
                SendKeys "+{TAB}"
                SendKeys "+{TAB}"
                SendKeys "{ENTER}"
                SendKeys "{DOWN}"
                SendKeys "{ENTER}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys lArquivo
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
            End If
            
            'Gravar a data e horário de envio
            WhatsApp.Cells(i, 6).Value = Now
        End If
    Next i
    
    MsgBox "Mensagens enviadas!"
    
End Sub

Conclusão

Esta macro é uma solução poderosa e de custo zero para pequenas e médias empresas que precisam automatizar a comunicação. Ao combinar a estruturação de dados do Excel com a automação de interface do VBA, você economiza horas de trabalho manual.

Download Planilha Enviar WhatsApp Excel VBA

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Download — baixe aqui: Enviar Whatsapp Excel 2026

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado