Cuma, 01 Mart 2019
  0 Cevaplar
  3.2K Ziyaret
Merhaba,
VBA'da yeniyim. F sütununda hücre değerinde bir değişiklik olursa e-posta göndermek için bir kod yazdım ve kod harika çalışıyor. Ancak e-postayı göndermeden önce çalışma kitabının kaydedildiğinden emin olmak istiyorum. E-posta metin gövdesi, değer değiştirilen satırın A sütunundaki değer olan referans hücre değerini içermelidir. Lütfen msj kullanmayın, çalışma kitabıyla çalışmayacaktır. Çalışma kitabının bir formu vardır ve giriş değerini belirlenen hücrelere yükleyecektir. Kod, formla iyi çalışıyor. Ancak birisi sayfaya girip değeri manuel olarak güncellerse, e-posta kullanıcılara gönderilecek, dosya kaydedilene kadar istemiyorum. Lütfen yardım et! Şimdiden teşekkürler.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Aralık olarak Dim s1, s2, s3, s4, s5, s6
Set s1 = Aralık("F1310:F1334")
Set s2 = Aralık("F1426:F1450")
Set s3 = Aralık("F1339:F1363")
Set s4 = Aralık("F1455:F1479")
Set s5 = Aralık("F1368:F1392")
Set s6 = Aralık("F1397:F1421")
On Error Resume Next
Target.Cells.Count > 1 ise Sub Exit
'F sütununda değiştirilen değeri bul
If Intersect(Target, Union(s1, s2, s3, s4, s5, s6)) Hiçbir Şey Değilse Exit Sub
If IsNumeric(Target.Value) Ve Target.Value <> "" Sonra
xOutApp'i Nesne Olarak Karartın
Nesne Olarak xOutMail'i Karartın
Dize olarak xMailBody'yi karart
Dize olarak xMailText'i karart
xOutApp = CreateObject("Outlook.Application") olarak ayarlayın
xOutMail = xOutApp.CreateItem(0) olarak ayarlayın
'Değerin posta gövdesine dahil edilecek şekilde değiştirildiği satırın A sütunundaki dizin değeri
xMailText = Target.Offset(, -5).Değer
xMailBody = "Merhaba" & vbNewLine & vbNewLine & _
"Fatura Alındı" & xMailText & vbNewLine & vbNewLine & _
"Teşekkürler" & vbNewLine & vbNewLine & _
"Bay J"
On Error Resume Next
xOutMail ile
.To = ""
.CC = ""
.BCC = ""
.Subject = "Fatura Alındı"
.Gövde = xMailBody
`s
İle bitmek
Hata Dönüsünde 0
xOutMail'i ayarla = Hiçbir şey
xOutApp'ı ayarla = Hiçbir şey
Eğer son
End Sub
Bu gönderi için henüz cevap yok.