Dinsdag 20 september 2022
  1 Antwoorden
  4.8K bezoeken
Hallo, ik ben nieuw in Excel en vroeg me af of het mogelijk is om een ​​Excel-code in te stellen op een manier die een e-mail naar een specifieke persoon zou sturen wanneer een waarde in een kolom als voltooid is gemarkeerd. Als JobX bijvoorbeeld in A2 staat en in dezelfde rij de initialen van de projectmanagers in die rij, B2, wordt deze taak gemarkeerd als voltooid in C2, wanneer kolom C wordt gemarkeerd als voltooid, moet een e-mail worden verzonden naar de PM wiens initialen staan ​​in die rij. Ik heb een code gevonden die een e-mail kan sturen wanneer de cel van een kolom als voltooid wordt gemarkeerd, maar ik vroeg me af of ik specifieker kan zijn, zoals het sturen van een e-mail naar een specifieke persoon wanneer aan bepaalde voorwaarden is voldaan. Bedankt,
Chris
1 jaar geleden
·
#3076
Hey daar!

Probeer de onderstaande code a.u.b. :)
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

Je hebt aangegeven dat je een e-mail wilt sturen naar de PM wiens initialen in dezelfde rij staan ​​die gemarkeerd is als voltooid. Staat zijn/haar e-mailadres in dezelfde rij? De code in de 6e rij helpt bij het vinden van de initialen van de projectmanagers, u kunt deze wijzigen om het e-mailadres te vinden.

Wijzig de tekenreeks "klaar" in de 5e rij in de daadwerkelijke tekenreeks die u gebruikt om de taak als voltooid te markeren.

Merk op dat u het onderstaande fragment naar wens kunt wijzigen.
xMailBody = "Hallo daar" & vbNewLine & vbNewLine & _
"Dit is regel 1" & vbNewLine & _
"Dit is lijn 2"
On Error Resume Next
Met xOutMail
.Naar = xNaar
.CC = ""
.BCC = ""
.Subject = "verzenden via celwaardetest"
.Body = xMailBody
.Weergeven 'of gebruik'
' .Versturen
Eindigt met


Als u vragen heeft, aarzel dan niet om mij deze te stellen.

Amanda
  • Pagina:
  • 1
Er zijn nog geen reacties op dit bericht geplaatst.