- Katılım
- 9 Mart 2011
- Mesajlar
- 35
- Excel Vers. ve Dili
- 2010
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
A | B | C |
Fatura Tarihi | Fatura Numarası | Fatura Tutarı |
28.11.2022 | JBA2022000031740 | 135.515,04 |
29.11.2022 | JBA2022000031823 | 37.616,04 |
06.12.2022 | JBA2022000032242 | 14.412,76 |
Sub OdemeMailGonder()
Dim Uygulama As Object, Yeni_Mail As Object, Say As Integer, Mesaj As String, myLo As ListObject
On Error Resume Next
Set Uygulama = GetObject(, "Outlook.Application")
On Error GoTo 0
If Uygulama Is Nothing Then Call Shell("Outlook.exe", vbHide)
Set Uygulama = CreateObject("Outlook.Application")
Set myLo = Worksheets("Sayfa1").ListObjects("Tablo1")
If myLo.DataBodyRange Is Nothing Then Exit Sub
For i = 1 To myLo.DataBodyRange.Rows.Count
If InStr(1, myLo.DataBodyRange(i, 7), "@") = 0 Then GoTo Devam1
If myLo.DataBodyRange(i, 6) > 6 Or myLo.DataBodyRange(i, 5) < 1 Then GoTo Devam1
If myLo.DataBodyRange(i, 8) = Date Then GoTo Devam1
'28.11.2022 Tarihli JBA2022000031740 numaralı ve 135.515,04 tutarındaki faturanın ödemesine 7 gün kalmıştır
Mesaj = myLo.DataBodyRange(i, 1) & " tarihli "
Mesaj = Mesaj + myLo.DataBodyRange(i, 2) & " numaralı ve "
Mesaj = Mesaj + Format(myLo.DataBodyRange(i, 3), "#,##0.00") & " tutarındaki "
Mesaj = Mesaj + " faturanın ödemesine " & myLo.DataBodyRange(i, 5) & " gün kalmıştır."
Set Yeni_Mail = Uygulama.CreateItem(0)
With Yeni_Mail
.To = myLo.DataBodyRange(i, 7)
.CC = ""
.BCC = ""
.Subject = "Son ödeme günü hatırlatması"
.HTMLBody = Mesaj & .HTMLBody
.BodyFormat = 2
.Save
.Send
End With
Say = Say + 1
myLo.DataBodyRange(i, 8) = Date
Set Yeni_Mail = Nothing:
Devam1:
Next i
On Error GoTo 0
If Say = 0 Then
MsgBox "Herhangi bir ödeme günü yaklaşmadı. Mail gönderilmedi"
Else
MsgBox "Son ödeme günü yaklaşan " & Say & " adet fatura için mail gönderildi."
End If
Set myLo = Nothing: Set Uygulama = Nothing: Say = Empty
End Sub