Como enviar um e-mail se uma célula específica for modificada no Excel?
Este artigo discute o envio de um e-mail através do Outlook quando uma célula em um intervalo específico é modificada no Excel.
Enviar e-mail se a célula em um intervalo específico for modificada com código VBA
Enviar e-mail se a célula em um intervalo específico for modificada com código VBA
Se você precisar criar automaticamente um novo e-mail com a pasta de trabalho ativa anexada quando uma célula no intervalo A2:E11 for modificada em uma planilha específica, o seguinte código VBA pode ajudá-lo.
1. Na planilha onde você precisa enviar e-mail com base na célula modificada em um intervalo específico, clique com o botão direito na aba da planilha e depois clique em Visualizar Código no menu de contexto. Veja a captura de tela:
2. Na janela Microsoft Visual Basic for Applications que aparece, copie e cole o seguinte código VBA na janela de Código.
Código VBA: Enviar e-mail se a célula em um intervalo especificado for modificada no Excel
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("A2:E11")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = "Email Address"
.Subject = "Worksheet modified in " & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Observações:
3. Pressione simultaneamente as teclas Alt + Q para fechar a janela Microsoft Visual Basic for Applications.
A partir de agora, sempre que qualquer célula no intervalo A2:E11 for modificada, um novo e-mail será criado com a pasta de trabalho atualizada anexada. E todos os campos especificados, como assunto, destinatário e corpo do e-mail, serão listados no e-mail. Por favor, envie o e-mail.
Observação: O código VBA funciona apenas se você estiver usando o Outlook como seu programa de e-mail.

Desbloqueie a Magia do Excel com o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Artigos relacionados:
- Como enviar automaticamente um e-mail com base no valor da célula no Excel?
- Como enviar um e-mail através do Outlook quando a pasta de trabalho é salva no Excel?
- Como enviar um e-mail se o botão for clicado no Excel?
- Como enviar um e-mail se a data de vencimento foi atingida no Excel?
- Como enviar lembrete ou notificação por e-mail se a pasta de trabalho for atualizada no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!