Bom dia.
Estou utilizando em uma planilha um código que envia um e-mail automático para determinado endereço, quando o texto de uma das células é alterado para "Fazer contato".
Funciona perfeitamente quando eu altero manualmente a informação, porém, quando utilizo a função "SE" na célula e a informação "Fazer contato" entra de forma automática e não manual, não funciona e o e-mail não é enviado.
Saberiam me explicar por que isso ocorre e me ajudar a resolver o problema?
O código que estou utilizando é o seguinte:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OutApp As Object
Dim OutMail As Object
Dim texto As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
linha = ActiveCell.Row - 1
If Target.Address = "$E$" & linha Then
If Planilha1.Cells(linha, 5) = "Fazer contato" Then
texto = "Prezado, " & vbCrLf & vbCrLf & _
"É necessário entrar em contato com a empresa " & Planilha1.Cells(linha, 2) & "," & " para tratar da proposta já enviada." & vbCrLf & vbCrLf & _
"Seguem abaixo os dados necessários:" & vbCrLf & _
"PESSOA DE CONTATO: " & Planilha1.Cells(linha, 7) & vbCrLf & _
"TELEFONE: " & Planilha1.Cells(linha, 6) & vbCrLf & _
"PROPOSTA NÚMERO: " & Planilha1.Cells(linha, 4) & vbCrLf & vbCrLf & _
"Atenciosamente " & vbCrLf & vbCrLf & _
"Comercial"
With OutMail
.To = "" & Planilha1.Cells(linha, 1) & ""
.CC = ""
.BCC = ""
.Subject = "Realizar contato - Prospect"
.Body = texto
.Send
End With
End If
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub