Skip to main content

Excel'de son tarih karşılanırsa e-posta nasıl gönderilir?

Author: Siluvia Last Modified: 2025-06-10

Aşağıdaki ekran görüntüsünde gösterildiği gibi, sütun C'deki son tarih 7 günden küçük veya eşitse (örneğin, şu anki tarih 2017/9/13), belirtilen alıcıya sütun A'daki ve e-postanın gövdesinde sütun B'deki belirtilen içerik görüntülenir. Bunu gerçekleştirmek için ne yapabilirsiniz? Bu makale, size bu görevi yerine getirmenize yardımcı olacak bir VBA kodu sağlar.

sample data

VBA kodu ile son tarih karşılandığında e-posta gönderme


VBA kodu ile son tarih karşılandığında e-posta gönderme

Lütfen Excel'de son tarih karşılandığında e-posta hatırlatması göndermek için aşağıdaki adımları izleyin.

1. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına aynı anda basın.

2. Microsoft Visual Basic for Applications penceresinde lütfen Ekle > Modül'e tıklayın. Ardından aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.

VBA kodu: Excel'de son tarih yaklaşırsa e-posta gönder

Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
    Dim xRgDate As Range
    Dim xRgSend As Range
    Dim xRgText As Range
    Dim xRgDone As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xLastRow As Long
    Dim vbCrLf As String
    Dim xMailBody As String
    Dim xRgDateVal As String
    Dim xRgSendVal As String
    Dim xMailSubject As String
    Dim i As Long
    On Error Resume Next
    Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
    If xRgDate Is Nothing Then Exit Sub
    Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
    If xRgSend Is Nothing Then Exit Sub
    Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
    If xRgText Is Nothing Then Exit Sub
    xLastRow = xRgDate.Rows.count
    Set xRgDate = xRgDate(1)
    Set xRgSend = xRgSend(1)
    Set xRgText = xRgText(1)
    Set xOutApp = CreateObject("Outlook.Application")
    For i = 1 To xLastRow
        xRgDateVal = ""
        xRgDateVal = xRgDate.Offset(i - 1).Value
        If xRgDateVal <> "" Then
        If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
            xRgSendVal = xRgSend.Offset(i - 1).Value
            xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
            vbCrLf = "<br><br>"
            xMailBody = "<HTML><BODY>"
            xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
            xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
            xMailBody = xMailBody & "</BODY></HTML>"
            Set xMailItem = xOutApp.CreateItem(0)
            With xMailItem
                .Subject = xMailSubject
                .To = xRgSendVal
                .HTMLBody = xMailBody
                .Display
                '.Send
            End With
            Set xMailItem = Nothing
        End If
    End If
    Next
    Set xOutApp = Nothing
End Sub

Notlar: VBA kodundaki If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then satırı, son tarihin 1 günden büyük ve 7 günden küçük veya eşit olması gerektiğini belirtir. İhtiyaçlarınıza göre değiştirebilirsiniz.

3. Kodu çalıştırmak için F5 tuşuna basın. İlk açılan Kutools for Excel iletişim kutusunda, lütfen son tarih sütun aralığını seçin ve ardından Tamam düğmesine tıklayın. Ekran görüntüsüne bakın:

vba code to select the due date column

4. Ardından ikinci Kutools for Excel iletişim kutusu açılır, lütfen alıcıların e-posta adreslerini içeren ilgili sütun aralığını seçin ve Tamam düğmesine tıklayın. Ekran görüntüsüne bakın:

 vba code to select the recipients’ email addresses

5. Son Kutools for Excel iletişim kutusunda, e-posta gövdesinde görüntülemek istediğiniz içeriği seçin ve ardından Tamam düğmesine tıklayın.

vba code to select the content you want to display in the email body

Ardından, sütun C'deki son tarih 7 günden küçük veya eşitse, belirtilen alıcı, konu ve gövde listelenerek otomatik olarak bir e-posta oluşturulur. Lütfen e-postayı göndermek için Gönder düğmesine tıklayın.

an email is created  with the specified recipient, subject and body listed out if the due date

Notlar:

1. Oluşturulan her e-posta bir son tarihe karşılık gelir. Örneğin, üç son tarih kriterleri karşılar ise, üç e-posta otomatik olarak oluşturulacaktır.

2. Bu kod, hiçbir tarih kriterleri karşılamazsa tetiklenmeyecektir.

3. VBA kodu yalnızca Outlook'u e-posta programınız olarak kullandığınızda çalışır.

a screenshot of kutools for excel ai

Kutools AI ile Excel Sihirini Keşfedin

  • Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
  • Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
  • VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
  • Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
  • Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
Yapay zeka destekli araçlarla Excel yeteneklerinizi geliştirin. Şimdi İndirin ve daha önce hiç olmadığı gibi bir verimlilik deneyimi yaşayın!

İlgili makaleler:

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştır ...
Öne Çıkan Özellikler: Izgara Odaklama   |  Tasarım Görünümü   |   Gelişmiş formül çubuğu    Çalışma Kitabı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!