Excel'de son tarih karşılanırsa e-posta nasıl gönderilir?
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.

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 SubNotlar: 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:

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:

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.

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.

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.

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.
İlgili makaleler:
- Excel'de hücre değerine göre otomatik olarak e-posta göndermek nasıl yapılır?
- Çalışma kitabı Excel'de kaydedildiğinde Outlook üzerinden e-posta göndermek nasıl yapılır?
- Excel'de belirli bir hücre değiştirilirse e-posta göndermek nasıl yapılır?
- Excel'de butona tıklandığında e-posta göndermek nasıl yapılır?
- Excel'de çalışma kitabı güncellendiğinde e-posta hatırlatması veya bildirimi göndermek nasıl yapılır?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.
 
  
  
  
 
- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin