Martedì, Settembre 20 2022
  1 Risposte
  4.6K visite
0
voti
Disfare
Ciao, sono molto nuovo in Excel e mi chiedevo se è possibile impostare un codice Excel in modo da inviare un'e-mail a una persona specifica quando un valore in una colonna è contrassegnato come completato. Ad esempio, se JobX è in A2 e nella stessa riga ci sono le iniziali del project manager, B2, questo lavoro viene contrassegnato come completato in C2, quando la colonna C viene contrassegnata come completata, è necessario inviare un'e-mail al PM le cui iniziali sono in quella riga. Ho trovato un codice in grado di inviare un'e-mail quando la cella di una colonna viene contrassegnata come completata, ma mi chiedevo se posso essere più specifico come inviare un'e-mail a una persona specifica quando vengono soddisfatte determinate condizioni. Grazie,
chris
Hi there,

Si prega di provare il codice qui sotto :)
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

Hai menzionato che desideri inviare un'e-mail al PM le cui iniziali sono nella stessa riga contrassegnata come completata. Il suo indirizzo email è sulla stessa riga? Il codice nella 6a riga aiuta a trovare le iniziali dei project manager, puoi cambiarlo per fargli trovare l'indirizzo email.

Si prega di modificare la stringa "fatto" nella quinta riga con la stringa effettiva che si utilizza per contrassegnare il lavoro completato.

Tieni presente che puoi modificare lo snippet di seguito in base alle tue esigenze.
xMailBody = "Ciao" & vbNewLine & vbNewLine & _
"Questa è la riga 1" & vbNewLine & _
"Questa è la linea 2"
On Error Resume Next
Con xOutMail
.A = xA
.CC = ""
.BCC = ""
.Subject = "invia tramite test valore cella"
.Corpo = xMailBody
.Visualizza 'o usa
' .Inviare
Fine Con


Se avete domande, non esitate a chiedermelo.

Amanda
  • Pagina :
  • 1
Non ci sono ancora risposte per questo post.