Excel Macro untuk Mengirim Email Secara Otomatis (3 Contoh yang Sesuai)

  • Bagikan Ini
Hugh West

Tutorial ini akan mengilustrasikan bagaimana cara menggunakan makro excel untuk mengirimkan email secara otomatis. Kita dapat mengkonfigurasi fitur mailing kita menggunakan VBA makro. Jadi, dengan menggunakan VBA secara makro kita dapat mengirim email ke beberapa pengguna pada saat yang bersamaan. Kita harus memiliki Outlook yang terpasang di perangkat kita untuk mengirim email secara otomatis dengan makro. Karena kode yang akan kita sisipkan akan menggunakan Outlook untuk mengirim email ke penerima.

Unduh Buku Kerja Praktik

Anda bisa mengunduh buku kerja latihan dari sini.

Kirim Email Secara Otomatis.xlsm

3 Contoh Makro Excel yang Cocok untuk Mengirim Email Secara Otomatis

Di sepanjang artikel ini, kami akan mendemonstrasikan 3 Sebelum mulai mengilustrasikan contohnya, kita perlu membenahi satu hal pada sheet excel kita. Lengkapi langkah-langkah di bawah ini sebelum mengaplikasikan macro untuk mengirim email secara otomatis.

LANGKAH-LANGKAH:

  • Pertama, dari dataset Anda, buka tab Pengembang Pilih opsi Visual Basic .

  • Berikutnya, buka Alat dan pilih opsi Referensi .

  • Kotak dialog baru bernama ' Referensi - VBAProject ' akan terbuka.
  • Terakhir, periksa opsi ' Perpustakaan Objek Microsoft Office 16.0 ' dan klik pada OK .

1. Terapkan Makro VBA Excel untuk Mengirim Email Secara Otomatis Berdasarkan Nilai Sel

Pertama dan terutama, kita akan menerapkan excel VBA untuk mengirim email secara otomatis berdasarkan nilai sel tertentu di dataset kita. Untuk mengilustrasikan contoh ini kita akan menggunakan dataset berikut. Kita akan menulis kode yang akan mengirim email secara otomatis jika nilai sel di sel D6 lebih besar dari 400 .

Mari kita lihat langkah-langkah untuk melakukan tindakan ini.

LANGKAH-LANGKAH:

  • Untuk memulainya, benar - klik pada lembar ' Berdasarkan Sel '.
  • Selain itu, pilih opsi ' Lihat Kode '.

  • Tindakan di atas akan membuka VBA cara lain untuk membuka jendela kode tersebut adalah dengan menekan Alt + F11 .
  • Selanjutnya, ketikkan kode berikut ini di jendela kode itu:
 Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> 400 Then Call send_mail_outlook End If End Sub Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z =CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "Hello!" & vbNewLine & vbNewLine & _ "Semoga Anda baik-baik saja" & vbNewLine & _ "Kunjungi situs kami Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "kirim email berdasarkan nilai sel" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Kemudian, klik tombol Lari atau tekan tombol F5 untuk menjalankan kode.

  • Kotak dialog baru bernama Makro akan muncul.
  • Setelah itu, dalam Nama Makro bidang pilih makro ' send_mail_outlook '.
  • Sekarang klik pada Lari tombol.

  • Akhirnya, mulai sekarang ketika nilai sel dalam sel D6> 400 email di Outlook akan menghasilkan secara otomatis dengan penerima tertentu. Kita hanya perlu mengklik pada tombol Kirim untuk mengirim email.

Baca selengkapnya: Kirim Email secara otomatis dari Excel Berdasarkan Konten Sel (2 Metode)

2. Mengirim Email Secara Otomatis Berdasarkan Tanggal Jatuh Tempo dengan Makro VBA

Dalam metode kedua, kita akan menggunakan Excel VBA makro untuk mengirim email secara otomatis jika tanggal jatuh tempo proyek apa pun sudah dekat. Ini seperti pengingat. Kami menggunakan dataset berikut untuk mengilustrasikan contoh ini. Dataset berisi email dari tenaga penjualan yang berbeda, pesan, dan tanggal jatuh tempo proyek mereka.

Ikuti langkah-langkah di bawah ini untuk melakukan metode ini.

LANGKAH-LANGKAH:

  • Pertama, klik kanan pada lembar Tanggal .
  • Berikutnya, pilih opsi ' Lihat Kode '.

  • Ini membuka sebuah VBA jendela kode untuk lembar kerja yang aktif. Kita juga bisa menekan Alt + F11 untuk mendapatkan jendela kode itu.
  • Kemudian, masukkan kode berikut ini di jendela kode itu:
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("pilih kolom duedate:", _ "Kirim Surat Berdasarkan Tanggal", , , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("pilih kolom penerima email:", _ "Kirim Surat Berdasarkan Tanggal", , , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Pilih kolom isi email:", _ "Kirim Surat Berdasarkan Tanggal", , , , , , 8) If aRgText Is Nothing Then Exit Sub aLastRow =aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= " 

" aMailBody = "" aMailBody = aMailBody & "Hello " & zRgSendVal & CrLf aMailBody = aMailBody & "Message: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndSub

  • Sekarang, gunakan Lari atau tombol F5 untuk menjalankan kode.

  • Kotak dialog baru akan muncul.
  • Setelah itu, pada kolom input kotak dialog tersebut pilih rentang kolom due date D$5: $D$9 Kemudian, klik pada OK .

  • Satu kotak dialog lagi akan muncul.
  • Selanjutnya, dalam bidang input pilih rentang kolom B$5: $B$9 yang berisi alamat email dan klik OK .

  • Selain itu, satu jendela lagi akan muncul. Pilih rentang pesan $C$5:$C$9 dalam bidang input pada jendela pop.

  • Pada akhirnya, kita bisa melihat hasil seperti gambar berikut ini. Kita mendapatkan 3 email yang secara otomatis dibuat di 3 jendela yang berbeda dari Outlook Ini tidak akan membuat email untuk dua alamat email pertama. Karena tanggal jatuh tempo kedua proyek tersebut sudah berakhir.

Baca selengkapnya: Cara Mengirim Email Secara Otomatis dari Excel Berdasarkan Tanggal

Bacaan Serupa

  • [Terpecahkan]: Bagikan Buku Kerja Tidak Muncul di Excel (dengan Langkah Mudah)
  • Cara Mengirim Email dari Daftar Excel (2 Cara Efektif)
  • Cara Mengirim Spreadsheet Excel yang Dapat Diedit melalui Email (3 Metode Cepat)
  • Makro untuk Mengirim Email dari Excel (5 Contoh yang Sesuai)
  • Makro untuk Mengirim Email dari Excel dengan Tubuh (3 Kasus Berguna)

3. Gunakan Makro Excel untuk Mengirim Email Secara Otomatis dengan Lampiran

Pada contoh terakhir, kita akan melihat bagaimana kita dapat membuat makro excel untuk mengirimkan email secara otomatis dengan lampiran. Misalkan kita memiliki lampiran seperti pada gambar berikut ini. Kita ingin mengirimkan lampiran ini melalui email menggunakan excel VBA Untuk melakukan hal ini kita membutuhkan path dari file excel tersebut. Berikut langkah-langkahnya:

  • Pilih file ' Lampiran.xlsx ' '.
  • Klik pada opsi ' Salin Jalur '.

  • Jadi, jalur file yang kita dapatkan:
E:\Exceldemy\Lampiran.xlsx

Kita akan menyisipkan jalur ini dalam kode makro kita untuk mengirim file ini melalui email. Ikuti langkah-langkah di bawah ini untuk melakukan ini.

LANGKAH-LANGKAH:

  • Pertama, buka Pengembang dan pilih opsi Visual Basic .

  • Jendela baru bernama ' Proyek - VBAProject akan terbuka '.
  • Kedua, klik kanan pada nama sheet.
  • Kemudian, pilih Sisipkan > Modul .

  • Perintah di atas akan membuka VBA
  • Ketiga, ketikkan kode berikut dalam Modul itu:
 Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "Mengirim Email dengan VBA." MyMail.Body = "Ini adalah Contoh Email." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Kemudian, tekan tombol F5 atau klik tombol Lari untuk menjalankan kode.

  • Terakhir, kode akan mengirim lampiran ke email yang disediakan dalam kode. Kode mengirim email dengan cara Outlook Jadi, klik pada Izinkan tombol untuk membiarkan Outlook mengirim lampiran ke email yang diberikan.

Baca selengkapnya: Cara Menerapkan Makro untuk Mengirim Email dari Excel dengan Lampiran

Kesimpulan

Sebagai kesimpulan, artikel ini menunjukkan 3 contoh penggunaan excel VBA Unduh contoh lembar kerja yang diberikan dalam artikel ini untuk menguji keterampilan Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan komentar di kotak di bawah ini. Tim kami akan mencoba membalas pesan Anda sesegera mungkin. Perhatikan lebih banyak lagi inventif Microsoft Excel solusi di masa mendatang.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.