By kylejohnson95757@gmail.com fredagen den 01 mars 2019
Inlagd i excel
svar 0
Gillar 0
Visningar 3.1K
Röster 0
Hej,
Jag är ny på VBA. Jag skrev en kod för att skicka ett e-postmeddelande om det finns en cellvärdeförändring i kolumn F, och koden fungerar utmärkt. Men jag vill se till att arbetsboken sparas innan jag skickar ut e-postmeddelandet. E-posttextens brödtext måste inkludera referenscellvärdet, vilket är värdet från kolumn A på raden för värdeändring. Vänligen använd inte msg, det kommer inte att fungera med arbetsboken. Arbetsboken har ett formulär och det kommer att ladda inmatningsvärdet till de angivna cellerna. Koden fungerar bra med formuläret. Men om någon går in i arket och manuellt uppdaterar värdet så skickas mailet ut till användarna, vilket jag inte vill ha förrän filen sparats. Snälla hjälp! Tack på förhand.

Privata delarkivsförändring (ByVal-mål som område)
Dim s1, s2, s3, s4, s5, s6 As Range
Set s1 = Range("F1310:F1334")
Set s2 = Range("F1426:F1450")
Set s3 = Range("F1339:F1363")
Set s4 = Range("F1455:F1479")
Set s5 = Range("F1368:F1392")
Set s6 = Range("F1397:F1421")
On Error Resume Next
Om Target.Cells.Count > 1 Avsluta Sub
'hitta värde ändrat i kolumn F
Om Intersect(Target, Union(s1, s2, s3, s4, s5, s6)) är ingenting, avsluta sub
Om IsNumeric(Target.Value) Och Target.Value <> "" Då
Dim xOutApp som objekt
Dim xOutMail som objekt
Dim xMailBody As String
Dim xMailText As String
Ställ in xOutApp = CreateObject("Outlook.Application")
Ställ in xOutMail = xOutApp.CreateItem(0)
'indexvärde från kolumn A på raden som värdet ändrades till inkluderat i e-posttexten
xMailText = Target.Offset(, -5).Value
xMailBody = "Hej där" & vbNewLine & vbNewLine & _
"Faktura mottagen för " & xMailText & vbNewLine & vbNewLine & _
"Tack" & vbNewLine & vbNewLine & _
"Mr J"
On Error Resume Next
Med xOutMail
.To = "test@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Faktura mottagen"
.Body = xMailBody
.Skicka
Sluta med
På Fel GoTo 0
Ställ in xOutMail = Ingenting
Ställ in xOutApp = Ingenting
End If
End Sub
Visa hela inlägget