Note: The other languages of the website are Google-translated. Back to English

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:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

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!
officetab bawah
Urutkan komentar berdasarkan
komentar (124)
Rated 4.5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk berbagi.


Bagaimana Anda menambahkan input Cc atau beberapa penerima?
Komentar ini diminimalkan oleh moderator di situs
Hai Brandon,

Maaf untuk mengomentari posting Anda tanpa jawaban tetapi apakah Anda bisa mendapatkan kode VBA untuk mengirim email?
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakan kode VBA Anda untuk mengirim email berdasarkan nilai sel tetapi tidak berhasil.
Semuanya hingga langkah 5 berfungsi tetapi tidak ada email yang dikirim. Adakah yang bisa membantu saya dengan ini?
Komentar ini diminimalkan oleh moderator di situs
Saya merasa sangat beruntung karena aporte, hanya saya yang salah karena dapat melakukannya secara otomatis karena perlu membuat secara manual lingkungan email.
Komentar ini diminimalkan oleh moderator di situs
Kode ini membekukan program excel saya ketika saya menjalankannya. Apakah memori intensif?
Komentar ini diminimalkan oleh moderator di situs
Hai Robert,
Masalah yang Anda sebutkan tidak muncul dalam kasus saya. Bolehkah saya memiliki versi Office Anda?
Komentar ini diminimalkan oleh moderator di situs
bisakah kita memasukkan detailnya satu kali dan email dapat dikirim secara otomatis, alih-alih selalu harus memilih kolom?
Komentar ini diminimalkan oleh moderator di situs
Hai Diyaa,
Jika Anda tidak ingin memilih kolom secara manual, silakan terapkan kode VBA di bawah ini.
Catatan: Anda hanya perlu memilih kolom tanggal jatuh tempo setelah menerapkan kode.

Sub Publik CheckAndSendMail()
'Diperbaharui oleh Extendoffice 2017 / 9 / 14
Redupkan xRgDate Sebagai Rentang
Redupkan xRgKirim Sebagai Rentang
Redupkan xRgText Sebagai Rentang
Redupkan xRgSelesai Sebagai Rentang
Redupkan xOutApp Sebagai Objek
Redupkan xMailItem Sebagai Objek
Redupkan xLastRow Selamanya
Redupkan vbCrLf Sebagai String
Redupkan xMailBody Sebagai String
Redupkan xRgDateVal Sebagai String
Redupkan xRgSendVal Sebagai String
Redupkan xMailSubject Sebagai String
Redup Aku Selamanya
On Error Resume Next
Set xRgDate = Application.InputBox("Silakan pilih kolom tanggal jatuh tempo:", "KuTools For Excel", , , , , , 8)
Jika xRgDate Bukan Apa-apa Kemudian Keluar dari Sub
xLastRow = xRgDate.Rows.Count
Setel xRgDate = xRgDate(1)
Tetapkan xRgSend = xRgSend(1)
Setel xRgText = xRgText(1)
Setel xOutApp = CreateObject("Outlook.Application")
Untuk I = 1 Ke xLastRow
xRgDateVal = xRgDate.Offset(I - 1).Nilai
Jika CDate(xRgDateVal) - Tanggal <= 7 Dan CDate(xRgDateVal) - Tanggal > 0 Kemudian
xRgSendVal = xRgSend.Offset(I - 1).Nilai
xMailSubject = xRgText.Offset(I - 1).Nilai & " pada " & xRgDateVal
vbCrLf = "

"
xMailBody = "Halo" & vbNewLine & vbNewLine & _
"Ini adalah baris 1" & vbNewLine & _
"Ini baris 2"
Setel xMailItem = xOutApp.CreateItem(0)
Dengan xMailItem
.To = "Alamat Email"
.CC = ""
.BCC = ""
.Subject = "kirim dengan tes nilai sel"
.Body = xMailBody
.Tampilkan 'atau gunakan .Kirim
Berakhir dengan
Setel xMailItem = Tidak Ada
End If
Next
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo,
Saya juga seorang pemula dan saya ingin mengajukan pertanyaan lain untuk Sub Anda yang hebat.

Bagaimana saya bisa mengirim email hanya jika alamat surat tertentu ada di sel terkait?

Saya membutuhkan ini, karena di alat excel saya, saya menerapkan beberapa tombol untuk setiap orang, yang membutuhkan pengingat.

Terima kasih banyak sebelumnya!!

Thomas
Komentar ini diminimalkan oleh moderator di situs
Hai Thomas,
Kami telah memposting artikel "Bagaimana cara mengirim email ke alamat email yang ditentukan dalam sel di Excel?"
https://www.extendoffice.com/documents/excel/4717-excel-macro-send-email-to-address-in-cells.html
Mungkin Anda bisa menemukan solusi Anda di artikel ini.
Komentar ini diminimalkan oleh moderator di situs
Saya membutuhkan ini untuk bekerja di semua lembar kerja dalam buku kerja, tanggal yang akan datang akan dimasukkan secara manual di sel yang sama di setiap lembar dan lembar baru dibuat setiap hari. Saya juga membutuhkan nama lembar kerja di email sehingga saya akan tahu lembar mana yang jatuh tempo
Komentar ini diminimalkan oleh moderator di situs
Maaf tidak dapat membantu Anda dengan ini.
Selamat datang untuk mengirim pertanyaan tentang Excel ke forum kami: https://www.extendoffice.com/forum.html. Anda akan mendapatkan lebih banyak dukungan Excel dari profesional kami atau penggemar Excel lainnya.
Komentar ini diminimalkan oleh moderator di situs
Jangan membuatnya bekerja. Menggunakan Office 365 jadi Outlook dan Excel harus cukup ketat. Seperti di pos dari "schou" 4 bulan yang lalu, ini berfungsi hingga langkah 5 tetapi kemudian tidak ada apa-apa.
Sebuah solusi untuk ini?
Komentar ini diminimalkan oleh moderator di situs
Saya punya excel untuk mengirim email, tetapi bisakah saya mengatur ini sehingga mengirim email setiap kali saya membuka excel alih-alih memilih kolom setiap kali.

Saya memiliki buku kerja dengan 24 halaman, jadi saya ingin mengirim email secara otomatis saat buku kerja dibuka.


Banyak terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai,
Maksud Anda memeriksa tanggal jatuh tempo secara otomatis di seluruh buku kerja dan mengirim email saat buku kerja dibuka?
Komentar ini diminimalkan oleh moderator di situs
Hai kawan,


Makro bagus tapi saya ingin menanyakan sesuatu - jika Anda memiliki seseorang dalam daftar tanpa tanggal, bagaimana cara mengubah kode vba untuk mengecualikan orang itu? Sekarang kode tersebut menghasilkan email bahkan untuk pria tanpa tanggal.


Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai Lvan,
Kode telah diperbarui dengan pemecahan masalah, silakan coba. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Hai, Mail menghasilkan otomatis untuk kolom dengan data kosong. Saya juga, ingin memiliki kode yang diperbarui.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak atas kontribusinya. Saya ingin tahu cara menggunakan pemilihan kolom tetap tanpa harus menggunakan kutools? yaitu, biarkan kolom default tanggal, tanda terima, dan peringatan?
Komentar ini diminimalkan oleh moderator di situs
Hari baik,
Kode VBA di bawah ini dapat membantu Anda. Silakan coba.

Sub Publik CheckAndSendMail()
'Diperbaharui oleh Extendoffice 2018 / 11 / 22
Redupkan xRgDate Sebagai Rentang
Redupkan xRgKirim Sebagai Rentang
Redupkan xRgText Sebagai Rentang
Redupkan xRgSelesai Sebagai Rentang
Redupkan xOutApp Sebagai Objek
Redupkan xMailItem Sebagai Objek
Redupkan xLastRow Selamanya
Redupkan vbCrLf Sebagai String
Redupkan xMailBody Sebagai String
Redupkan xRgDateVal Sebagai String
Redupkan xRgSendVal Sebagai String
Redupkan xMailSubject Sebagai String
Redupkan Aku Selamanya
On Error Resume Next
Set xRgDate = Range("C2:C4") 'Mohon referensi kolom tanggal jatuh tempo
Jika xRgDate Bukan Apa-apa Kemudian Keluar dari Sub
Set xRgSend = Range("A2:A4") 'Mohon referensi penerima?kolom email
Jika xRgSend Bukan Apa-apa Kemudian Keluar dari Sub
Set xRgText = Range("B2:B4") Masukkan kolom dengan konten yang diingatkan di email Anda
Jika xRgText Bukan Apa-apa Kemudian Keluar dari Sub
xLastRow = xRgDate.Rows.count
Setel xRgDate = xRgDate(1)
Tetapkan xRgSend = xRgSend(1)
Setel xRgText = xRgText(1)
Setel xOutApp = CreateObject("Outlook.Application")
Untuk i = 1 Ke xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Nilai
Jika xRgDateVal <> "" Maka
Jika CDate(xRgDateVal) - Tanggal <= 7 Dan CDate(xRgDateVal) - Tanggal > 0 Kemudian
xRgSendVal = xRgSend.Offset(i - 1).Nilai
xMailSubject = xRgText.Offset(i - 1).Nilai & " pada " & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""
Setel xMailItem = xOutApp.CreateItem(0)
Dengan xMailItem
.Subjek = xMailSubjek
.Ke = xRgSendVal
.HTMLBody = xMailBody
.Tampilan
'.Kirim
Berakhir dengan
Setel xMailItem = Tidak Ada
End If
End If
Next
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Kristal yang terhormat,

Terima kasih telah berbagi.

Saya seorang pemula dan saya memiliki masalah dengan kode.

xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""

Teks tidak masuk ke baris baru.
Bisakah Anda membantu.

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
ni niti,
Anda perlu menambahkan baris vbCrLf = " " di depan pilek.
Seperti:
vbCrLf = " "
xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""
Komentar ini diminimalkan oleh moderator di situs
Dear Crystal, Saat memilih kolom tanggal, Bisakah beberapa sel di kolom yang berbeda dipilih?
Komentar ini diminimalkan oleh moderator di situs
Halo,
Tuan Crystal, dalam percakapan terakhir Anda dengan Tuan Ivan, dia meminta kode untuk mengirim email setiap kali spreadsheet dibuka alih-alih memasukkan kode setiap kali.
Saya memerlukan kode yang sama, situasi yang sama, dapatkah Anda membantu?
Komentar ini diminimalkan oleh moderator di situs
Benar, itu bukan dengan Tuan Ivan, tetapi dengan Tuan Austin.
Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai, saya menggunakan versi modifikasi dari kode ini, dan saya agak baru di VBA. Saya ingin tahu apakah ada kemungkinan ketika email akan dikirim, bahwa makro akan dapat menandai X, atau jika seseorang telah Selesai, email tidak akan terkirim. Saya harap ini semua masuk akal. Bantuan apa pun sangat dihargai.

Sedikit latar belakang, saya menggunakan alat ini untuk menjalankan pemeriksaan tanggal jatuh tempo pada 30 hari, 60 hari, dan lewat waktu. Saya ingin 1 email keluar pada 30 hari, 1 pada 60 hari, dan kemudian lewat waktu juga. Saya menjalankan ini dari skrip VB yang saya tulis, sehingga saya dapat mengotomatiskannya setiap hari. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai, saya menggunakan versi modifikasi dari kode ini, dan saya agak baru di VBA. Saya ingin tahu apakah ada kemungkinan ketika email akan dikirim, bahwa makro akan dapat menandai X, atau jika seseorang telah Selesai, email tidak akan terkirim. Saya harap ini semua masuk akal. Bantuan apa pun sangat dihargai. Sedikit latar belakang, saya menggunakan alat ini untuk menjalankan pemeriksaan tanggal jatuh tempo pada 30 hari, 60 hari, dan lewat waktu. Saya ingin 1 email keluar pada 30 hari, 1 pada 60 hari, dan kemudian lewat waktu juga. Saya menjalankan ini dari skrip VB yang saya tulis, sehingga saya dapat mengotomatiskannya setiap hari. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo Pak,

Ini sangat membantu. Saya perlu 2 peningkatan lagi dalam kode yang sama. Saya harus mengklik tombol kirim setiap kali, tidak apa-apa selama saya memiliki 10 email untuk dikirim, bagaimana jika saya> 25 email untuk dikirim dalam satu hari. Jadi tolong beri saya kode untuk mengirim email secara otomatis setelah memilih Tanggal jatuh tempo, Penerima, Subjek, dll.

Juga tolong berikan saya kode untuk menambahkan opsi " CC" juga


Terima kasih

lebih sehat
Komentar ini diminimalkan oleh moderator di situs
Hari baik,
Silakan coba kode VBA di bawah ini, semoga dapat membantu. Terima kasih telah berkomentar.

Sub Publik CheckAndSendMail()
'Diperbaharui oleh Extendoffice 2018 / 11 / 22
Redupkan xRgDate Sebagai Rentang
Redupkan xRgKirim Sebagai Rentang
Redupkan xRgText Sebagai Rentang
Redupkan xRgSelesai Sebagai Rentang
Redupkan xOutApp Sebagai Objek
Redupkan xMailItem Sebagai Objek
Redupkan xLastRow Selamanya
Redupkan vbCrLf Sebagai String
Redupkan xMailBody Sebagai String
Redupkan xRgDateVal Sebagai String
Redupkan xRgSendVal Sebagai String
Redupkan xMailSubject Sebagai String
Redupkan Aku Selamanya
On Error Resume Next
Set xRgDate = Application.InputBox("Silakan pilih kolom tanggal jatuh tempo:", "KuTools For Excel", , , , , , 8)
Jika xRgDate Bukan Apa-apa Kemudian Keluar dari Sub
Set xRgSend = Application.InputBox("Silakan pilih penerima?kolom email:", "KuTools For Excel", , , , , , 8)
Jika xRgSend Bukan Apa-apa Kemudian Keluar dari Sub
Set xRgCC = Application.InputBox("Silakan pilih penerima CC?kolom email:", "KuTools For Excel", , , , , , 8)
Jika xRgCC Bukan Apa-apa Kemudian Keluar dari Sub
Set xRgText = Application.InputBox("Pilih kolom dengan konten yang diingatkan di email Anda:", "KuTools For Excel", , , , , , 8)
Jika xRgText Bukan Apa-apa Kemudian Keluar dari Sub
xLastRow = xRgDate.Rows.Count
Setel xRgDate = xRgDate(1)
Tetapkan xRgSend = xRgSend(1)
Tetapkan xRgCC = xRgCC(1)
Setel xRgText = xRgText(1)
Setel xOutApp = CreateObject("Outlook.Application")
Untuk i = 1 Ke xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Nilai
Jika xRgDateVal <> "" Maka
Jika CDate(xRgDateVal) - Tanggal <= 7 Dan CDate(xRgDateVal) - Tanggal > 0 Kemudian
xRgSendVal = xRgSend.Offset(i - 1).Nilai
xRgCCVal = xRgCC.Offset(i - 1).Nilai
xMailSubject = xRgText.Offset(i - 1).Nilai & " pada " & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""
Setel xMailItem = xOutApp.CreateItem(0)
Dengan xMailItem
.Subjek = xMailSubjek
.Ke = xRgSendVal
.Cc = xRgCCVal
.HTMLBody = xMailBody
.Mengirim
Berakhir dengan
Setel xMailItem = Tidak Ada
End If
End If
Next
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal,

Terima kasih atas kodenya karena sangat membantu. Tetapi bagaimana cara membuat kode berfungsi jika saya menggunakan outlook.office.com?
Komentar ini diminimalkan oleh moderator di situs
di badan saya ingin nilai kolom a,b,c dalam format tabel, seperti tanggal kedaluwarsa setelah tercapai di kolom badan saya ingin mencetak detail sel a,b,c dalam format tabel
Komentar ini diminimalkan oleh moderator di situs
Hai Dinesh BS,
Maaf tidak dapat membantu Anda dengan itu. Selamat datang untuk memposting pertanyaan apa pun di forum kami: https://www.extendoffice.com/forum.html.
Komentar ini diminimalkan oleh moderator di situs
Halo, saya baru mengenal VBA. Apakah ada cara agar program ini berjalan secara otomatis setiap kali file dibuka?
Komentar ini diminimalkan oleh moderator di situs
Halo L Echols,
Untuk menjalankan kode secara otomatis saat file dibuka, silakan klik dua kali untuk membuka jendela kode ThisWorkbook (terletak di sisi kiri jendela Microsoft Visual Basic for Applications), pilih Workbook dari daftar drop-down pertama, lalu salin di atas kode VBA (kecuali baris pertama dan terakhir) ke dalam jendela kode dan tempel di antara dua baris yang diberikan. Lihat tangkapan layar terlampir di bawah ini:
Komentar ini diminimalkan oleh moderator di situs
Ini luar biasa. Saya bertanya-tanya apakah ada cara untuk menjalankan kode tanpa harus memilih nilai KuTools setiap saat? Untuk klarifikasi, saya memasukkan kode ini dan sekarang setiap kali saya membuka buku kerja saya masih harus menyorot kolom yang sama. Apakah ada cara untuk memasukkan kode untuk menjalankan pemeriksaan pada kolom yang sama setiap saat - selama tidak ada pengeditan pada buku kerja yang dilakukan - untuk menjalankan pemeriksaan dan merumuskan email berdasarkan pemeriksaan tersebut? Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Hai Danny,
Silakan coba kode di bawah ini dan ubah rentang sesuai kebutuhan.

Sub Publik CheckAndSendMail()
'Diperbaharui oleh Extendoffice 2019 / 5 / 17
Redupkan xRgDate Sebagai Rentang
Redupkan xRgKirim Sebagai Rentang
Redupkan xRgText Sebagai Rentang
Redupkan xRgSelesai Sebagai Rentang
Redupkan xOutApp Sebagai Objek
Redupkan xMailItem Sebagai Objek
Redupkan xLastRow Selamanya
Redupkan vbCrLf Sebagai String
Redupkan xMailBody Sebagai String
Redupkan xRgDateVal Sebagai String
Redupkan xRgSendVal Sebagai String
Redupkan xMailSubject Sebagai String
Redupkan Aku Selamanya
On Error Resume Next
Setel xRgDate = Range("C2: C4")
Jika xRgDate Bukan Apa-apa Kemudian Keluar dari Sub
Tetapkan xRgSend = Range("A2: A4")
Jika xRgSend Bukan Apa-apa Kemudian Keluar dari Sub
Tetapkan xRgText = Range("B2:B4")
Jika xRgText Bukan Apa-apa Kemudian Keluar dari Sub
xLastRow = xRgDate.Rows.Count
Setel xRgDate = xRgDate(1)
Tetapkan xRgSend = xRgSend(1)
Setel xRgText = xRgText(1)
Setel xOutApp = CreateObject("Outlook.Application")
Untuk i = 1 Ke xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Nilai
Jika xRgDateVal <> "" Maka
Jika CDate(xRgDateVal) - Tanggal <= 7 Dan CDate(xRgDateVal) - Tanggal > 0 Kemudian
xRgSendVal = xRgSend.Offset(i - 1).Nilai
xMailSubject = xRgText.Offset(i - 1).Nilai & " pada " & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""
Setel xMailItem = xOutApp.CreateItem(0)
Dengan xMailItem
.Subjek = xMailSubjek
.Ke = xRgSendVal
.HTMLBody = xMailBody
.Tampilan
'.Kirim
Berakhir dengan
Setel xMailItem = Tidak Ada
End If
End If
Next
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Ini luar biasa. Saya bertanya-tanya apakah ada cara untuk menjalankan kode tanpa harus memilih nilai KuTools setiap saat? Untuk klarifikasi, saya memasukkan kode ini dan sekarang setiap kali saya membuka buku kerja saya masih harus menyorot kolom yang sama. Apakah ada cara untuk memasukkan kode untuk menjalankan pemeriksaan pada kolom yang sama setiap saat - selama tidak ada pengeditan pada buku kerja yang dilakukan - untuk menjalankan pemeriksaan dan merumuskan email berdasarkan pemeriksaan tersebut? Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Halo Kristal,
Saya mengalami masalah dengan pengiriman email secara otomatis setelah file dibuka. Misalnya, saya memiliki semua info tanggal jatuh tempo di Sheet1. Namun, jika saya menyimpan dan menutup file ketika saya sedang mengerjakan Sheet2, segera setelah saya membuka file, nilai untuk mengirim email akan didasarkan pada Sheet2 dan bukan pada Sheet1. Saya hanya memiliki modul yang ditambahkan pada Sheet1 dan ThisWorkbook. Saya pikir memiliki vba yang sama di ThisWorkbook memicu untuk mengirim email otomatis di lembar mana pun yang saya buka saat ini. Bagaimana saya bisa membatasi VBA untuk menarik nilai dari lembar tertentu dan juga mengirim email saat file dibuka? Terima kasih banyak atas bantuan Anda sebelumnya!
Komentar ini diminimalkan oleh moderator di situs
Saya baru mengenal VBA. Apakah ada cara untuk menjalankan program ini secara otomatis setiap kali file dibuka?
Komentar ini diminimalkan oleh moderator di situs
Ya dengan


Sub Workbook_Open Pribadi ()
*Masukkan kode disini*
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai,

Saya punya pertanyaan,

Jika saya ingin memilih rentang sel yang ditentukan sebelumnya, bagaimana saya bisa mengubah kode di bagian ini:

xLastRow = xRgDate.Rows.Count
Setel xRgDate = xRgDate(1)

Toset sel secara otomatis?

Terima kasih :)
Komentar ini diminimalkan oleh moderator di situs
Hai,
Jika Anda tidak ingin memilih rentang secara manual setiap kali menerapkan kode, gunakan kode di bawah ini.

Sub Publik CheckAndSendMail()
'Diperbaharui oleh Extendoffice 2019 / 12 / 10
Redupkan xRgDate Sebagai Rentang
Redupkan xRgKirim Sebagai Rentang
Redupkan xRgText Sebagai Rentang
Redupkan xRgSelesai Sebagai Rentang
Redupkan xOutApp Sebagai Objek
Redupkan xMailItem Sebagai Objek
Redupkan xLastRow Selamanya
Redupkan vbCrLf Sebagai String
Redupkan xMailBody Sebagai String
Redupkan xRgDateVal Sebagai String
Redupkan xRgSendVal Sebagai String
Redupkan xMailSubject Sebagai String
Redupkan Aku Selamanya
On Error Resume Next
Setel xRgDate = Range("C2: C4")
Jika xRgDate Bukan Apa-apa Kemudian Keluar dari Sub
Tetapkan xRgSend = Range("A2: A4")
Jika xRgSend Bukan Apa-apa Kemudian Keluar dari Sub
Tetapkan xRgText = Range("B2:B4")
Jika xRgText Bukan Apa-apa Kemudian Keluar dari Sub
xLastRow = xRgDate.Rows.Count
Setel xRgDate = xRgDate(1)
Tetapkan xRgSend = xRgSend(1)
Setel xRgText = xRgText(1)
Setel xOutApp = CreateObject("Outlook.Application")
Untuk i = 1 Ke xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Nilai
Jika xRgDateVal <> "" Maka
Jika CDate(xRgDateVal) - Tanggal <= 7 Dan CDate(xRgDateVal) - Tanggal > 0 Kemudian
xRgSendVal = xRgSend.Offset(i - 1).Nilai
xMailSubject = xRgText.Offset(i - 1).Nilai & " pada " & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & "Dear" & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Teks : " & xRgText.Offset(i - 1).Nilai & vbCrLf
xMailBody = xMailBody & ""
Setel xMailItem = xOutApp.CreateItem(0)
Dengan xMailItem
.Subjek = xMailSubjek
.Ke = xRgSendVal
.HTMLBody = xMailBody
.Tampilan
'.Kirim
Berakhir dengan
Setel xMailItem = Tidak Ada
End If
End If
Next
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Buenos dias! que modificación tendría que realizar para dejar seleccionadas las celdas con la información de fecha, texto y correo y no tener que seleccionarlas cada vez que se activa la macro?

también me gustaría saber como introducir un CC, es decir, poder poner a otra persona en copia del correo. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo! Pudiste solucionar esto? Estoy necesitando lo mismo.. gracias!
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL