Excel'de son tarih karşılanmışsa e-posta nasıl gönderilir?
Aşağıdaki ekran görüntüsünde gösterildiği gibi, C sütunundaki son tarih 7 günden az veya buna eşitse (örneğin, geçerli tarih 2017/9/13), A sütununda belirtilen alıcıya bir e-posta gönderilir ve B sütununda belirtilen içerik, e-postanın gövdesinde görüntülenir. Bunu başarmak için nasıl yapabilirsin? Bu makale, bu görevi gerçekleştirmenize yardımcı olacak bir VBA kodu sağlar.
VBA kodu ile son tarih karşılandıysa e-posta gönderin
VBA kodu ile son tarih karşılandıysa e-posta gönderin
Excel'de son tarih karşılandıysa lütfen bir e-posta hatırlatıcısı göndermek için aşağıdaki işlemleri yapın.
1. Tuşuna basın. Ara Toplam + F11 anahtarları aynı anda açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. içinde Uygulamalar için Microsoft Visual Basic pencere, lütfen tıklayın Ekle > modül. Ardından aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.
VBA kodu: Excel'de son tarih kapalıysa e-posta gönderin
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: Çizgi CDate (xRgDateVal) - Tarih <= 7 ise Ve CDate (xRgDateVal) - Tarih> 0 Daha sonra VBA kodunda, son tarihin 1 günden büyük ve 7 günden az veya buna eşit olması gerektiği anlamına gelir. İhtiyacınız olduğu gibi değiştirebilirsiniz.
3. Basın the Kodu çalıştırmak için F5 tuşu. İlk patlamada Kutools for Excel iletişim kutusunda, lütfen son tarih sütun aralığını seçin ve ardından OK buton. Ekran görüntüsüne bakın:
4. Sonra 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 OK buton. Ekran görüntüsüne bakın:
5. Sonunda Kutools for Excel iletişim kutusunda, e-posta gövdesinde görüntülemek istediğiniz içeriği seçin ve ardından OK düğmesine basın.
Ardından, C sütunundaki son tarih 7 günden az veya bu güne eşitse, belirtilen alıcı, konu ve gövdenin listelendiği bir e-posta otomatik olarak oluşturulacaktır. Lütfen tıklayın Gönder E-postayı göndermek için düğmesine basın.
notlar:
1. Oluşturulan her e-posta bir son tarihe karşılık gelir. Örneğin, kriterleri karşılayan üç bitiş tarihi varsa, otomatik olarak üç e-posta mesajı oluşturulur.
2. Kriterleri karşılayan tarih yoksa bu kod tetiklenmeyecektir.
3. VBA kodu yalnızca Outlook'u e-posta programınız olarak kullandığınızda çalışır.
İlgili yazılar:
- Excel'deki hücre değerine göre otomatik olarak e-posta nasıl gönderilir?
- Çalışma kitabı Excel'e kaydedildiğinde Outlook üzerinden nasıl e-posta gönderilir?
- Excel'de belirli bir hücre değiştirilirse e-posta nasıl gönderilir?
- Excel'de düğme tıklanırsa e-posta nasıl gönderilir?
- Çalışma kitabı Excel'de güncellenirse e-posta hatırlatıcı veya bildirim nasıl gönderilir?
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!