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

Bagaimana cara mengirim pengingat atau pemberitahuan email jika buku kerja diperbarui di Excel?

Dalam beberapa kasus, Anda mungkin perlu memicu pemberitahuan email ke penerima tertentu jika ada data yang diperbarui di buku kerja yang telah Anda kirim. Artikel ini akan menunjukkan kepada Anda metode untuk mencapainya.

Kirim pengingat email atau pemberitahuan jika buku kerja diperbarui dengan kode VBA


Kirim pengingat email atau pemberitahuan jika buku kerja diperbarui dengan kode VBA


Harap lakukan hal berikut untuk mengirim pengingat email atau pemberitahuan jika buku kerja diperbarui.

1. Di buku kerja, buka lembar kerja yang ditentukan Anda akan mengirim pemberitahuan email berdasarkan data yang diperbarui di dalamnya.

2. Klik kanan tab lembar, lalu pilih Lihat kode dari menu klik kanan. Lihat tangkapan layar:

2. Dalam Microsoft Visual Basic untuk Aplikasi jendela, salin dan tempel kode berikut ke jendela kode. Lihat tangkapan layar:

Kode VBA: Kirim pengingat email atau pemberitahuan jika buku kerja diperbarui

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/14
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    Dim xYesOrNo As Integer
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xYesOrNo = MsgBox("Want to attach updated workbook in email?", vbInformation + vbYesNo, "KuTools For Excel")
    If xYesOrNo = 6 Then ActiveWorkbook.Save
    If xYesOrNo = 6 Then xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .cc = ""
        .Subject = "email notification test"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        If xYesOrNo = 6 Then .Attachments.Add xName
        .Display
    End With
    xMailItem = Nothing
    xOutApp = Nothing
End Sub

Note: Ganti Alamat Email dengan alamat email penerima di baris .To = "Alamat Email". Dan ubah kolom Cc, Subjek, serta isi di kode VBA sesuai kebutuhan.

3. tekan lain + Q kunci untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

4. Setelah mengedit sel dalam lembar kerja, a Kutools untuk Excel kotak dialog akan muncul seperti gambar di bawah ini. Jika Anda ingin melampirkan buku kerja yang diperbarui di email, silakan klik Yes tombol. Jika tidak, klik Tidak .

5. Kemudian email dibuat secara otomatis dengan atau tanpa lampiran buku kerja yang diperbarui. Dan semua bidang yang ditentukan juga terdaftar di email. Silakan klik Kirim tombol untuk mengirimkannya.

Note: 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-2019 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.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (16)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Jika ada yang menemukan halaman ini bertanya-tanya bagaimana cara mengirim email dari Excel menggunakan CDO, saya mengumpulkan Google Doc -- Cara Mengirim Email dari Excel menggunakan Gmail (https://docs.google.com/document/d/1u5VLzCApU3k4-9Vp9LEfqyFZ6u9tAY0avNPYN_1FsN4/edit?usp=sharing) dengan kode di GitHub Gist (https://gist.github.com/bergerjac/7355d4e528fa6c64a02dc494f3d241a1)
Komentar ini diminimalkan oleh moderator di situs
Bisakah saya CC lebih dari orang dalam hal ini? terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai Leah,
Silakan masukkan alamat email langsung di baris .cc="" dan pisahkan dengan titik koma, seperti .cc = "AAA@gmail.com;BBB@gmail.com"
Komentar ini diminimalkan oleh moderator di situs
Saya menyalin dan menempelkan kode persis apa adanya dari halaman ini, tetapi ketika saya membuat perubahan pada dokumen saya, saya mendapatkan pesan "Kesalahan Sintaks" dan baris ini menyoroti: Dim xOutApp As Object. Bantuan apa pun akan dihargai.
Komentar ini diminimalkan oleh moderator di situs
Hai Yudi,
Apakah Anda akan memberikan versi Excel yang Anda gunakan? Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Halo, Kode berfungsi dengan baik. Namun, ketika sel berubah di bawah titik ambang melalui operasi makro yang menyalin dan menempelkan nilai yang lebih rendah ke sel yang ditentukan, kode tampaknya tidak terpicu.

Juga, saya ingin menerapkan kode ini ke beberapa sel. Bisakah saya menyalin dan menempelkan kode beberapa kali dan mengubah setiap versi yang disalin agar sesuai dengan kebutuhan setiap sel? Apakah ada cara yang lebih baik untuk melakukan itu. Saya tidak tahu itu. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Maaf, saya memposting ini di artikel yang salah. Saya akan posting di artikel yang benar
Komentar ini diminimalkan oleh moderator di situs
Ketika saya mencoba mengubah sesuatu di sel, sebuah pesan meminta konfigurasi email Outlook dan itu terus meminta kata sandi saya.
Komentar ini diminimalkan oleh moderator di situs
Hai MJ,
Versi Excel mana yang Anda gunakan? Bisakah Anda memberikan tangkapan layar dari prompt?
Komentar ini diminimalkan oleh moderator di situs
Bagi saya kode berjalan lagi dan lagi, seperti loop yang tidak pernah berakhir. Saya tutup email itu meminta lagi untuk mengirimkannya...
Komentar ini diminimalkan oleh moderator di situs
tolong saya agak bingung tetapi di mana dalam kode itu mendeteksi lembar yang sedang dimodifikasi/diperbarui?
saya mencoba menulis kode di mana tabel pada lembar tertentu dikirim ketika tabel dimodifikasi (atau lebih khusus lagi ketika baris ditambahkan)
Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai,
Kode di pos mendeteksi semua sel di seluruh lembar kerja berdasarkan baris pertama "Private Sub Worksheet_Change(ByVal Target As Range)".
Jika Anda ingin mengirim email dengan tabel tertentu saat diubah, Anda dapat mencoba VBA berikut.
Note: silahkan ubah "Table1" menjadi nama tabel anda sendiri.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2022/5/27
    Dim xYesOrNo As Integer
    Dim xTableName As String
    Dim xTableRg As Range
    Dim I, J As Long
    Dim xEmailBody As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    
    xTableName = "Table1" 'The name of the table you will send when it is modified
    Set xTableRg = ActiveSheet.ListObjects(xTableName).Range
    If Intersect(Target, xTableRg) Is Nothing Then Exit Sub

    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xTableRg.Rows.Count
        For J = 1 To xTableRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xTableRg.Cells(I, J).Value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "XXX@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hola cristal, donde dice Private Sub Worksheet_Change, deberia poner nombre de mi excel o no?
Los rangos de (I,J) cambiarlos por los valores de celdas que yo dese estar mirando si cambian?
Komentar ini diminimalkan oleh moderator di situs
HOLA CRISTAL, ME GUSTARIA PONERME EN CONTACTO DIRECTO CONTIGO, NE CESITO DE TU AYUDA EN EXCEL,GRACIAS
Komentar ini diminimalkan oleh moderator di situs
HOLA CRISTAL, ME GUSTARIA PONERME EN CONTACTO DIRECTO CONTIGO, PARA PEDIR TU AYUDA EN UN PROBLEMITA EN UNA HOJA DE EXCEL
Komentar ini diminimalkan oleh moderator di situs
Hai GERARDO MARTIN OLVERA,
Anda dapat mengirim email kepada saya di zxm@addin99.com.
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan