Mengirimkan Email Buku Kerja Excel - Tips Excel

Daftar Isi

Terima kasih kepada Katherine yang mengirimkan pertanyaan untuk tip Excel minggu ini:

Saya ingin menempatkan tombol formulir pada lembar kerja Excel yang, ketika diklik, akan mengirimkan lembar kerja Excel yang sama melalui email kepada seseorang.

Untuk mengirim seluruh buku ke [email protected] dengan baris subjek tertentu, Anda akan menggunakan makro Excel ini.

Sub SendIt() Application.Dialogs(xlDialogSendMail).Show arg1:="[email protected]", _ arg2:="This goes in the subject line" End Sub

Ada ikon toolbar yang memungkinkan Anda menambahkan tombol perintah. Ikuti langkah-langkah berikut untuk menambahkannya ke toolbar yang sudah ada:

  • Lihat> ToolBars> Kustomisasi
  • Klik tab perintah
  • Di kotak Kategori, gulir ke bawah ke Control Toolbox
  • Di kotak perintah, gulir ke bawah ke Tombol Perintah
  • Klik tombol perintah dan seret ke atas dan letakkan di bilah alat yang ada
  • Singkirkan dialog Kustomisasi dengan menekan Tutup

Sekarang Anda memiliki ikon tombol perintah: Klik ikon tersebut. Seret lembar kerja Anda untuk membuat tombol. Buatlah sebesar atau sekecil yang Anda inginkan. Excel akan meminta Anda untuk menetapkan makro ke tombol tersebut. Pilih SendIt. Klik dan seret untuk menyorot kata Tombol 1 pada tombol. Ketik sesuatu seperti "Kirimkan File ini melalui Email". Klik di luar tombol, dan Anda siap untuk pergi. Jika Anda perlu menetapkan kembali makro yang dilampirkan ke tombol itu, klik kanan tombol dan pilih tetapkan makro.

Bagaimana jika Anda memiliki daftar besar informasi yang ingin Anda distribusikan ke sejumlah pengguna, tetapi Anda hanya ingin setiap pengguna melihat informasi mereka sendiri? Di bawah ini adalah makro yang sedikit lebih kompleks yang akan melakukan ini. Di sebelah kanan adalah contoh daftar penjualan untuk tiga wilayah.

Sebelum menulis makro, siapkan buku kerja sebagai berikut:

  • Salin lembar kerja data dengan cara klik kanan tab data, pilih "pindahkan atau salin", centang "buat salinan", OK. Ubah nama lembar kerja baru ini menjadi "Laporan". Anda dapat mengganti nama sheet dengan mengklik kanan tab, memilih "rename", lalu mengetik Report.
  • Di tab laporan, hapus semua baris data. Simpan hanya judul dan judul.
  • Sisipkan lembar kerja baru dengan kolom-kolom ini: Kawasan, Penerima. Pada lembar kerja ini, ketikkan setiap nama kawasan dan pengguna yang akan menerima laporan. Ubah nama lembar kerja ini menjadi "Distribusi".

Ini makro. Baris yang dimulai dengan apostrof (') adalah komentar yang dirancang untuk membantu Anda mengikuti alur.

Public Sub SendItAll() ' Clear out any old data on Report Sheets("Report").Select Range("A1").CurrentRegion.ClearContents ' Sort data by region Sheets("Data").Select Range("A1").CurrentRegion.Select Selection.Sort Key1:=Range("A2"), Header:=xlYes ' Process each record on Distribution Sheets("Distribution").Select FinalRow = Range("A15000").End(xlUp).Row For i = 2 To FinalRow Sheets("Distribution").Select RegionToGet = Range("A" & i).Value Recipient = Range("B" & i).Value ' Clear out any old data on Report Sheets("Report").Select Range("A1").CurrentRegion.ClearContents ' Get records from Data Sheets("Data").Select Range("A1").CurrentRegion.Select ' Turn on AutoFilter, if it is not on If ActiveSheet.AutoFilterMode = False Then Selection.AutoFilter ' Filter the data to just this region Selection.AutoFilter Field:=1, Criteria1:=RegionToGet ' Select only the visible cells and copy to Report Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Destination:=Sheets("Report").Range("A1") ' Turn off the Autofilter Selection.AutoFilter ' Copy the Report sheet to a new book and e-mail Sheets("Report").Copy Application.Dialogs(xlDialogSendMail).Show _ arg1:=Recipient, _ arg2:="Report for " & RegionToGet ActiveWorkbook.Close SaveChanges:=False Next i End Sub

Artikel yang menarik...