Pelo o que entendi, foi como eu comentei antes, tem de trocar o Evento Change para o Calculate, então apague e troque por esta :
Private Sub Worksheet_Calculate()
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 = "$F$" & linha Then '
If Plan1.Cells(linha, 7) = "Concluído" Then
texto = "Prezado(a) " & Plan1.Cells(linha, 1) & "," & vbCrLf & vbCrLf & _
"A O.S. " & Plan1.Cells(linha, 7) & " aberta em " & _
Plan1.Cells(linha, 2) & " foi concluída." & vbCrLf & _
" Veja informações abaixo:" & vbCrLf & _
" Status: " & Plan1.Cells(linha, 6) & vbCrLf & _
" Ação tomada: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
"Atenciosamente," & vbCrLf & _
"Vical Transportes"
'End If
With OutMail
.To = "" & Plan1.Cells(linha, 1) & ""
.CC = "" & Plan1.Cells(linha, 2) & ""
.BCC = ""
.Subject = "Título do email"
.Body = texto
.Display 'Utilize Send para enviar o email sem abrir o Outlook
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub
Faça os testes se é isto, apesar de achar 1 segundo tempo muito curto.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 19/01/2018 12:44 pm