Enviar e-mail Excel VBA - Planilha de Aniversário para download

MR
Marcos Rieper

Especialista em Excel

19 de novembro de 2016 Atualizado 08 de julho de 2026 4 min de leitura
Enviar e-mail Excel VBA - Planilha de Aniversário para download

Enviar e-mail Excel VBA - Planilha de Aniversário para download

O Excel permite coisas incríveis! Por exemplo enviar e-mail no Excel usando VBA. Neste artigo você verá como enviar e-mail pelo Excel usando VBA e um exemplo de uma planilha de aniversário construída pelo Guia do Excel e que você poderá realizar o download, e totalmente desbloqueada.

Painel envio de e-mail Excel

Enviar e-mail Excel VBA - Planilha de Aniversário

No painel você tem acesso rápido ao sistema de envio de email pelo Excel com VBA.

  1. Configuração: Abre a planilha de configuração do e-mail de envio. Nela são inseridas informações da conta SMTP para envio do e-mail.
  2. Lista: Abre a planilha dos aniversariantes, esta contém a lista dos e-mails destinatários.
  3. Período e Enviar: No período são definidos o período dos aniversariantes para os quais serão enviados e-mails e no botão Enviar são enviados os e-mails automaticamente pelo Excel usando VBA.

Configuração enviar e-mail

Enviar e-mail Excel VBA - Planilha de Aniversário

Na planilha de configuração de e-mail você tem todas irá realizar as configurações do SMTP e também a mensagem que será enviada.

  1. SMTP: Inclua o SMTP da sua conta de e-mail. No caso do gmail é smtp.gmail.com.
  2. PORT: Porta do SMTP da conta de e-mail de envio.
  3. AUTENTICAR: Selecione Sim para autenticar o SMTP ou Não para não autenticar o SMTP.
  4. NOME: Nome do remetente do e-mail.
  5. EMPRESA: Nome da empresa d oenvio do e-mail.
  6. EMAIL: E-mail do remetente, coloque o e-mail completo.
  7. SENHA: Digite a senha do seu e-mail.
  8. SMTP SSL: Marque Sim se sua conta de e-mail possuir autenticação de SSL e Não se não tiver.
  9. TÍTULO: Digite o título dos e-mails enviados.
  10. CÓPIA E-MAIL: Se quiser que sejam enviadas cópias de e-mail para outro destinatário apenas digite o e-mail.
  11. MENSAGEM: Digite a mensagem que gostaria de enviar. Você pode enviar em HTML inclusive usando um editor HTML Online, por exemplo: http://www.comofazerumsite.com/editor-html-online/. Veja o vídeo de como usar facilmente.

LISTA DE E-MAILS PARA ENVIO

Enviar e-mail Excel VBA - Planilha de Aniversário

Na lista de e-mails para envio preencha o nome do cliente, a data de nascimento e o seu e-mail.

Estes dados serão utilizados para personalizar a mensagem colocando o nome do cliente no título do e-mail, filtrar os e-mails a serem enviados pela data de aniversário definida no período no Painel e o e-mail de cada cliente para o envio da mensagem.

CÓDIGO FONTE VBA PARA ENVIAR E-MAIL PELO EXCEL VBA

Abaixo o código fonte VBA utilizado para o envio de e-mails utilizando o Excel.

Não esqueça de marcar a referência Microsoft CDO for Windows 2000 Library conforme explicado no vídeo deste artigo.

'Baseado no código disponibilizado em: http://www.a1vbcode.com/snippet-3691.asp
Public Sub lsEnviar()
    Dim iMsg, iConf, Flds
    Dim lUltimaLinhaAtiva   As Long
    Dim lLinha              As Long
    Dim lPeriodoIni         As Date
    Dim lPeriodoFim         As Date
    Dim lAniversario        As Date
 
    Application.ScreenUpdating = False
 
    lUltimaLinhaAtiva = Worksheets("Lista").Cells(Worksheets("Lista").Rows.Count, 1).End(xlUp).Row
 
    'Seta as variáveis, lembrando que o objeto Microsoft CDO deverá estar habilitado em Ferramentas->Referências->Microsoft CDO for Windows 2000 Library
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
 
    'Configura o componente de envio de email
    schema = "http://schemas.microsoft.com/cdo/configuration/"
    Flds.Item(schema & "sendusing") = 2
    'Configura o smtp
    Flds.Item(schema & "smtpserver") = Range("smtp").Value
    'Configura a porta de envio de email
    Flds.Item(schema & "smtpserverport") = Range("port").Value
    Flds.Item(schema & "smtpauthenticate") = IIf(Range("Autenticar").Value = "Sim", 1, 0)
    'Configura o email do remetente
    Flds.Item(schema & "sendusername") = Range("email").Value
    'Configura a senha do email remetente
    Flds.Item(schema & "sendpassword") = Range("senha").Value
    Flds.Item(schema & "smtpusessl") = IIf(Range("SSL").Value = "Sim", 1, 0)
    Flds.Update
            
    For lLinha = 2 To lUltimaLinhaAtiva
        lPeriodoIni = Range("PerIni").Value
        lPeriodoFim = Range("PerFim").Value
        lAniversario = Sheets("Lista").Range("B" & lLinha).Value
        
        If (Month(lAniversario) >= Month(lPeriodoIni) And Day(lAniversario) >= Day(lPeriodoIni)) _
            And (Month(lAniversario) <= Month(lPeriodoFim) And Day(lAniversario) <= Day(lPeriodoFim)) Then
            With iMsg
                'Email do destinatário
                .To = Sheets("Lista").Range("C" & lLinha).Value
                'Seu email
                .From = Range("email").Value
                'Cópia do e-mail
                .CC = Range("copia").Value
                'Título do email
                .Subject = Range("titulo").Value & " " & Sheets("Lista").Range("A" & lLinha).Value
                'Mensagem do e-mail, você pode enviar formatado em HTML
                .HTMLBody = Range("Mensagem").Value
                'Seu nome ou apelido
                .Sender = Range("Nome").Value
                'Nome da sua organização
                .Organization = Range("Empresa").Value
                'email de responder para
                .ReplyTo = Range("email").Value
                'Anexo a ser enviado na mensagem
                '.AddAttachment ("c:\rieper\Dicas VBA.docx")
                'Passa a configuração para o objeto CDO
                Set .Configuration = iConf
                'Envia o email
                .Send
            End With
        End If
    Next lLinha
    
    'Limpa as variáveis
    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
    
    Application.ScreenUpdating = True
    
    MsgBox "E-mails enviados!"
End Sub
Download — baixe aqui: Enviar e-mail sem o Outlook

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

Abraço

Marcos Rieper

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

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