Úterý, 20 2022 září
  1 Odpovědi
  4.8 tis. Návštěv
0
Hlasy
Zrušit
Ahoj, jsem v excelu úplně nový a zajímalo by mě, jestli je možné nastavit excelový kód tak, aby odeslal e-mail konkrétní osobě, když je hodnota ve sloupci označena jako dokončená. Pokud je například JobX v A2 a ve stejném řádku jsou iniciály projektových manažerů v tomto řádku, B2, bude tato úloha označena jako dokončená v C2, když bude sloupec C označen jako dokončený, měl by být odeslán e-mail PM, jehož iniciály jsou v té řadě. Našel jsem kód, který dokáže odeslat e-mail, když je buňka sloupce označena jako dokončená, ale zajímalo by mě, jestli mohu být konkrétnější, jako je odeslání e-mailu konkrétní osobě, když jsou splněny určité podmínky. Dík,
Chris
Před rokem 1
·
#3076
0
Hlasy
Zrušit
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
  • Stránka:
  • 1
Na tento příspěvek zatím nebyly učiněny žádné odpovědi.