Bagaimana cara mengirim email jika tanggal jatuh tempo sudah terpenuhi di Excel?
Seperti yang ditunjukkan pada tangkapan layar di bawah, jika tanggal jatuh tempo di kolom C kurang dari atau sama dengan 7 hari (misalnya, tanggal saat ini adalah 2017/9/13), email dikirim ke penerima yang ditentukan di kolom A dan konten tertentu di kolom B ditampilkan di badan email. Bagaimana Anda bisa melakukannya untuk mencapainya? Artikel ini menyediakan kode VBA untuk membantu Anda menyelesaikan tugas ini.
Kirim email jika tanggal jatuh tempo sudah terpenuhi dengan kode VBA
Kirim email jika tanggal jatuh tempo sudah terpenuhi dengan kode VBA
Harap lakukan hal berikut untuk mengirim pengingat email jika tanggal jatuh tempo telah terpenuhi di Excel.
1. tekan lain + F11 tombol secara bersamaan untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.
2. Dalam Microsoft Visual Basic untuk Aplikasi jendela, silakan klik Menyisipkan > Modul. Kemudian salin dan tempel kode VBA di bawah ini ke jendela Modul.
Kode VBA: Kirim email jika tanggal jatuh tempo ditutup di Excel
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
Catatan: Garis Jika CDate (xRgDateVal) - Tanggal <= 7 Dan CDate (xRgDateVal) - Tanggal> 0 Kemudian dalam kode VBA artinya tanggal jatuh tempo harus lebih besar dari 1 hari dan kurang dari atau sama dengan 7 hari. Anda dapat mengubahnya sesuai kebutuhan.
3. tekan itu F5 kunci untuk menjalankan kode. Dalam bermunculan pertama Kutools untuk Excel kotak dialog, pilih rentang kolom tanggal jatuh tempo dan kemudian klik OK tombol. Lihat tangkapan layar:
4. Lalu yang kedua Kutools untuk Excel kotak dialog muncul, pilih kisaran kolom yang sesuai yang berisi alamat email penerima, dan klik OK tombol. Lihat tangkapan layar:
5. Terakhir Kutools untuk Excel kotak dialog, pilih konten yang ingin Anda tampilkan di badan email, lalu klik OK .
Kemudian email akan dibuat secara otomatis dengan penerima, subjek dan isi yang ditentukan tercantum jika tanggal jatuh tempo di kolom C kurang dari atau sama dengan 7 hari. Silakan klik Kirim tombol untuk mengirim email.
Catatan:
1. Setiap email yang dibuat sesuai dengan tanggal jatuh tempo. Misalnya, jika ada tiga tanggal jatuh tempo yang memenuhi kriteria, tiga pesan email akan dibuat secara otomatis.
2. Kode ini tidak akan dipicu jika tidak ada tanggal yang memenuhi kriteria.
3. Kode VBA hanya berfungsi saat Anda menggunakan Outlook sebagai program email Anda.
Artikel terkait:
- Bagaimana cara mengirim email secara otomatis berdasarkan nilai sel di Excel?
- Bagaimana cara mengirim email melalui Outlook saat buku kerja disimpan di Excel?
- Bagaimana cara mengirim email jika sel tertentu diubah di Excel?
- Bagaimana cara mengirim email jika tombol diklik di Excel?
- Bagaimana cara mengirim pengingat atau pemberitahuan email jika buku kerja diperbarui di Excel?
Alat Produktivitas Kantor Terbaik
Tingkatkan Keterampilan Excel Anda dengan Kutools for Excel, dan Rasakan Efisiensi yang Belum Pernah Ada Sebelumnya. Kutools for Excel Menawarkan Lebih dari 300 Fitur Lanjutan untuk Meningkatkan Produktivitas dan Menghemat Waktu. Klik Di Sini untuk Mendapatkan Fitur yang Paling Anda Butuhkan...
Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah
- Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
- Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
- Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!