Como enviar e-mail se a data de vencimento foi cumprida no Excel?
Conforme mostrado na captura de tela abaixo, se a data de vencimento na coluna C for menor ou igual a 7 dias (por exemplo, a data atual é 2017/9/13), um e-mail será enviado ao destinatário especificado na coluna A e o o conteúdo especificado na coluna B é exibido no corpo do e-mail. Como você poderia fazer para alcançá-lo? Este artigo fornece um código VBA para ajudá-lo a realizar essa tarefa.
Envie um e-mail se a data de vencimento for cumprida com o código VBA
Envie um e-mail se a data de vencimento for cumprida com o código VBA
Faça o seguinte para enviar um lembrete por e-mail caso a data de vencimento tenha sido cumprida no Excel.
1. aperte o outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.
2. No Microsoft Visual Basic para Aplicações janela, por favor clique inserção > Módulo. Em seguida, copie e cole o código VBA abaixo na janela Módulo.
Código VBA: enviar e-mail se a data de vencimento estiver fechada no Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
Notas: A linha Se CDate (xRgDateVal) - Data <= 7 E CDate (xRgDateVal) - Data> 0 Então, no código VBA, significa que a data de vencimento deve ser maior que 1 dia e menor ou igual a 7 dias. Você pode alterá-lo conforme necessário.
3. Pressione da Tecla F5 para executar o código. Na primeira aparição Kutools for Excel caixa de diálogo, selecione o intervalo da coluna de data de vencimento e clique no botão OK botão. Veja a imagem:
4. Então o segundo Kutools for Excel caixa de diálogo aparece, selecione o intervalo de coluna correspondente que contém os endereços de e-mail dos destinatários e clique no botão OK botão. Veja a imagem:
5. No último Kutools for Excel caixa de diálogo, selecione o conteúdo que deseja exibir no corpo do e-mail e clique no OK botão.
Em seguida, um e-mail será criado automaticamente com o destinatário, assunto e corpo especificados listados se a data de vencimento na coluna C for menor ou igual a 7 dias. Por favor clique no Submeter botão para enviar o e-mail.
Notas:
1. Cada e-mail criado corresponde a uma data de vencimento. Por exemplo, se houver três datas de vencimento que atendam aos critérios, três mensagens de e-mail serão criadas automaticamente.
2. Este código não será acionado se não houver datas que atendam aos critérios.
3. O código VBA só funciona quando você usa o Outlook como seu programa de e-mail.

Desbloqueie o Excel Magic com Kutools AI
- Execução Inteligente: execute operações em células, analise dados e crie gráficos, tudo orientado por comandos simples.
- Fórmulas personalizadas: gere fórmulas personalizadas para agilizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmula: Entenda fórmulas complexas com facilidade.
- Tradução do texto: Quebre as barreiras linguísticas nas suas planilhas.
Artigos relacionados:
- Como enviar e-mail automaticamente com base no valor da célula no Excel?
- Como enviar um email pelo Outlook quando a pasta de trabalho é salva no Excel?
- Como enviar email se uma determinada célula é modificada no Excel?
- Como enviar e-mail se o botão for clicado no Excel?
- Como enviar lembrete ou notificação por e-mail se a pasta de trabalho for atualizada no Excel?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!