Excel'de bitiş tarihi karşılandığında e-posta nasıl gönderilir?
Aşağıdaki ekran görüntüsünde gösterildiği gibi, C sütunundaki Bitiş Tarihi bugünün tarihinden (örneğin 13/09/2017) itibaren 7 gün veya daha az kalana kadar yaklaştığında, A sütununda belirtilen alıcıya bir e-posta gönderilir ve B sütunundaki içerik e-postanın gövdesinde yer alır. Bu işlemi nasıl gerçekleştirebilirsiniz? Bu makale, söz konusu görevi yerine getirmenize yardımcı olacak bir VBA kodu sunar.

VBA koduyla Bitiş Tarihi karşılandığında e-posta gönder
VBA koduyla Bitiş Tarihi karşılandığında e-posta gönder
Excel'de Bitiş Tarihi karşılandığında bir e-posta hatırlatması göndermek için lütfen aşağıdaki adımları izleyin.
1. Alt+F11 tuşlarına aynı anda basarak Microsoft Visual Basic for Applications penceresini açın.
2. Microsoft Visual Basic for Applications penceresinde, lütfen Ekle > Modül seçeneğine tıklayın. Ardından aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.
VBA kodu: Excel'de Bitiş Tarihi kapatıldığında 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 satırı, Bitiş Tarihi'nin bugün itibarıyla 1 günden fazla ve 7 gün veya daha az olacağını belirtir. İhtiyacınıza göre bu değeri değiştirebilirsiniz.
3. Kodu çalıştırmak için the F5 tuşuna basın. İlk açılan Kutools for Excel iletişim kutusunda, lütfen Bitiş Tarihi 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 Adresi bilgilerini 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.

C sütunundaki Bitiş Tarihi 7 güne düşerse, belirtilen alıcı, konu ve gövde içeriğiyle otomatik olarak bir e-posta oluşturulur. E-postayı göndermek için lütfen Gönder düğmesine tıklayın.

Notlar:
1. Oluşturulan her e-posta bir Bitiş Tarihi ile ilişkilidir. Örneğin, kriterlere uyan üç Bitiş Tarihi varsa, otomatik olarak üç e-posta mesajı oluşturulur.
2. Kriterlere uyan hiçbir tarih bulunmazsa bu kod tetiklenmez.
3. VBA kodu, e-posta programınız olarak yalnızca Outlook kullandığınızda çalışır.

KUTOOLS AI ile Excel'in Sihirli Gücünü Açığa Çıkarın
- Akıllı Yürütme: Hücre işlemlerini gerçekleştirin, verileri analiz edin ve hepsi basit komutlarla çalışan grafikler oluşturun.
- Özel formüller: İş akışlarınızı kolaylaştırmak için özelleştirilmiş formüller oluşturun.
- VBA Kodlama: VBA kodlarını zahmetsizce yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca çözmek artık çok daha basit!
- Metin Çevirisi: Elektronik tablolarınızda dil bariyerlerini aşın.
İlgili makaleler:
- Excel'de hücredeki değere göre e-posta nasıl otomatik olarak gönderilir?
- Excel'de bir çalışma kitabı kaydedildiğinde, Outlook üzerinden e-posta nasıl gönderilir?
- Excel'de belirli bir hücre düzenlendiğinde nasıl e-posta gönderilebilir?
- Excel'de bir düğmeye tıklandığında e-posta nasıl gönderilir?
- Excel'de bir çalışma kitabı güncellendiğinde e-posta hatırlatması veya bildirim nasıl gönderilir?
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar