Ahoj,
Zkuste prosím kód níže
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
Zmínili jste, že chcete poslat e-mail PM, jehož iniciály jsou ve stejném řádku, který byl označen jako dokončený. Je jeho/její e-mailová adresa na stejném řádku? Kód v 6. řádku pomáhá najít iniciály projektových manažerů, můžete jej změnit, aby našel e-mailovou adresu.
Změňte prosím řetězec "hotovo" v 5. řádku na skutečný řetězec, který používáte k označení dokončené úlohy.
Upozorňujeme, že níže uvedený úryvek můžete změnit podle svých potřeb.
xMailBody = "Ahoj" & vbNewLine & vbNewLine & _
"Toto je řádek 1" & vbNewLine & _
"Toto je řádek 2"
On Error Resume Next
S xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "odeslat testem hodnoty buňky"
.Tělo = xMailBody
.Zobrazte 'nebo použijte
Odeslat
Konec s
Pokud máte nějaké dotazy, neváhejte se mě zeptat.
Amanda