By kylejohnson95757@gmail.com vineri, 01 martie 2019
postat în Excel
Răspunsuri 0
Preferințe 0
Vizualizări 3.2 K
Voturi 0
Bună,
Sunt nou în VBA. Am scris un cod pentru a trimite un e-mail dacă există o modificare a valorii celulei în coloana F, iar codul funcționează excelent. Dar vreau să mă asigur că registrul de lucru este salvat înainte de a trimite e-mailul. Corpul textului e-mailului trebuie să includă valoarea celulei de referință, care este valoarea din coloana A a rândului cu valoarea modificată. Vă rugăm să nu utilizați msg, nu va funcționa cu registrul de lucru. Registrul de lucru are un formular și va încărca valoarea de intrare în celulele desemnate. Codul funcționează bine cu formularul. Dar dacă cineva intră în foaie și actualizează manual valoarea, e-mailul va fi trimis utilizatorilor, ceea ce nu vreau până când fișierul este salvat. Te rog ajuta-ma! Mulţumesc anticipat.

Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Dim s1, s2, s3, s4, s5, s6 As Range
Setați s1 = Interval ("F1310:F1334")
Setați s2 = Interval ("F1426:F1450")
Setați s3 = Interval ("F1339:F1363")
Setați s4 = Interval ("F1455:F1479")
Setați s5 = Interval ("F1368:F1392")
Setați s6 = Interval ("F1397:F1421")
La data de eroare CV următoare
Dacă Target.Cells.Count > 1, apoi Ieșiți din sub
„găsiți valoarea modificată în coloana F
Dacă se intersectează (țintă, unire (s1, s2, s3, s4, s5, s6)) nu este nimic, atunci ieșiți din sub
Dacă IsNumeric(Target.Value) și Target.Value <> "" Atunci
Dim xOutApp ca obiect
Dim xOutMail ca obiect
Dim xMailBody ca șir
Dim xMailText ca șir
Setați xOutApp = CreateObject("Outlook.Application")
Setați xOutMail = xOutApp.CreateItem(0)
„valoarea indexului din coloana A a rândului acea valoare a fost schimbată în inclusă în corpul e-mailului
xMailText = Target.Offset(, -5).Value
xMailBody = „Bună ziua” & vbNewLine & vbNewLine & _
„Factură primită pentru” & xMailText & vbNewLine & vbNewLine & _
„Mulțumesc” și vbNewLine și vbNewLine și _
„Domnule J”
La data de eroare CV următoare
Cu xOutMail
.To = "test@gmail.com"
.CC = ""
.BCC = ""
.Subject = „Factură primită”
.Body = xMailBody
.Trimite
Se termina cu
La eroare GoTo 0
Setați xOutMail = Nimic
Setați xOutApp = Nimic
Final, dacă
End Sub
Vizualizați mesajul complet