Como enviar email se uma determinada célula é modificada no Excel?
Este artigo fala sobre o envio de um email pelo Outlook quando uma célula em um determinado intervalo é modificada no Excel.
Enviar e-mail se a célula em um determinado intervalo for modificada com o código VBA
Enviar e-mail se a célula em um determinado intervalo for modificada com o código VBA
Se você precisar criar um novo email automaticamente com a pasta de trabalho ativa anexada quando uma célula no intervalo A2:E11 for modificada em uma determinada planilha, o código VBA a seguir poderá ajudá-lo.
1. Na planilha que você precisa enviar e-mail com base em sua célula modificada em um determinado intervalo, clique com o botão direito na guia da planilha e clique no botão Ver código no menu de contexto. Veja a imagem:
2. No popping up Microsoft Visual Basic para Aplicações janela, copie e cole o código VBA abaixo na janela 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
Notas:
3. aperte o outro + Q simultaneamente para fechar o Microsoft Visual Basic para Aplicações janela.
A partir de agora, qualquer célula no intervalo A2: E11 é 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 email, serão listados no email. Por favor, envie o email.
Anote os: O código VBA funciona apenas se você estiver usando o Outlook como seu programa de email.
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 e-mail se o botão for clicado no Excel?
- Como enviar e-mail se a data de vencimento foi cumprida 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 Kutools for Excele experimente eficiência como nunca antes. Kutools for 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 a 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!

















