By clazor.itec na terça-feira, 20 setembro 2022
Postado em Excel
Respostas 1
Gostos 0
Visualizações 5K
Votos 0
Olá, sou muito novo no Excel e queria saber se é possível configurar um código do Excel de forma que envie um email para uma pessoa específica quando um valor em uma coluna for marcado como concluído. Por exemplo, se JobX estiver em A2, e na mesma linha as iniciais dos gerentes de projeto estiverem nessa linha, B2, esse trabalho será marcado como concluído em C2, quando a coluna C for marcada como concluída, um email deve ser enviado ao PM cujas iniciais estão nessa fileira. Encontrei um código que pode enviar um email quando a célula de uma coluna é marcada como concluída, mas queria saber se posso ser mais específico, como enviar um email para uma pessoa específica quando determinadas condições forem atendidas. Obrigado,
Chris
Oi lá,

Por favor, tente o código abaixo
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Range("c:c"), Target) Is Nothing Then Exit Sub
If Target.Value = "done" Then
Set xRg = Target.Offset(0, -1) 'Find email address
Call Mail_small_Text_Outlook(xRg.Value)
End If

End Sub

Sub Mail_small_Text_Outlook(ByVal xTo As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2"
On Error Resume Next
With xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "send by cell value test"
.Body = xMailBody
.Display 'or use
' .Send
End With
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Você mencionou que deseja enviar um e-mail para o PM cujas iniciais estão na mesma linha marcada como concluída. O endereço de e-mail dele está na mesma linha? O código na 6ª linha ajuda a encontrar as iniciais dos gerentes de projeto, você pode alterá-lo para que encontre o endereço de e-mail.

Altere a string "concluído" na 5ª linha para a string real que você usa para marcar o trabalho como concluído.

Observe que você pode alterar o snippet abaixo de acordo com suas necessidades.
xMailBody = "Olá" & vbNewLine & vbNewLine & _
"Esta é a linha 1" & vbNewLine & _
"Esta é a linha 2"
On Error Resume Next
Com xOutMail
.Para = xPara
.CC = ""
.BCC = ""
.Subject = "enviar por teste de valor de célula"
.Body = xMailBody
.Exibir 'ou usar
' .Enviar
Terminar com


Se você tiver alguma dúvida, por favor, não hesite em me perguntar.

Amanda
·
1 ano atrás
·
0 Curtiu
·
0 Votos
·
0 Comentários
·
Ver postagem completa