By clazor.itec am Dienstag, 20. September 2022
Veröffentlicht in Excel
Antworten 1
Likes 0
Views 4.8k
Bewertungen 0
Hallo, ich bin sehr neu in Excel und habe mich gefragt, ob es möglich ist, einen Excel-Code so einzurichten, dass eine E-Mail an eine bestimmte Person gesendet wird, wenn ein Wert in einer Spalte als abgeschlossen markiert ist. Wenn sich beispielsweise JobX in A2 befindet und sich in derselben Zeile die Initialen des Projektmanagers in dieser Zeile B2 befinden, wird dieser Job in C2 als abgeschlossen markiert, wenn Spalte C als abgeschlossen markiert wird, sollte eine E-Mail an den PM gesendet werden, dessen Initialen sind in dieser Reihe. Ich habe einen Code gefunden, der eine E-Mail senden kann, wenn die Zelle einer Spalte als abgeschlossen markiert wird, aber ich habe mich gefragt, ob ich genauer sein kann, z. B. das Senden einer E-Mail an eine bestimmte Person, wenn bestimmte Bedingungen erfüllt sind. Vielen Dank,
Chris
Hallo,

Bitte versuchen Sie den folgenden Code
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

Sie haben erwähnt, dass Sie eine E-Mail an den PM senden möchten, dessen Initialen in derselben Zeile stehen, die als abgeschlossen markiert wurde. Befindet sich seine/ihre E-Mail-Adresse in derselben Zeile? Der Code in der 6. Reihe hilft, die Initialen des Projektmanagers zu finden, Sie können ihn ändern, damit er die E-Mail-Adresse findet.

Bitte ändern Sie die Zeichenfolge "done" in der 5. Zeile in die tatsächliche Zeichenfolge, die Sie verwenden, um den Auftrag als abgeschlossen zu markieren.

Beachten Sie, dass Sie das unten stehende Snippet an Ihre Bedürfnisse anpassen können.
xMailBody = "Hallo" & vbNewLine & vbNewLine & _
"Das ist Zeile 1" & vbNewLine & _
"Das ist Linie 2"
On Error Resume Next
Mit xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "Send by Cell Value Test"
.Body = xMailBody
.Display 'oder verwenden
' .Senden
Ende mit


Wenn Sie Fragen haben, zögern Sie bitte nicht, mich zu fragen.

Amandas
·
1 Jahr vor
·
0 Likes
·
0 Stimmen
·
0 Kommentare
·
Vollständigen Beitrag anzeigen