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

Bagaimana cara mengirim email dengan menyalin dan menempelkan rentang tertentu ke badan email di Excel?

Dalam banyak kasus, rentang konten tertentu di lembar kerja Excel mungkin berguna dalam komunikasi email Anda. Pada artikel ini, kami akan memperkenalkan metode pengiriman email dengan rentang tertentu yang ditempelkan ke badan email langsung di Excel.

Kirim email dengan rentang tertentu disisipkan ke badan email di Excel
Kirim email dengan rentang tertentu yang ditempelkan ke badan email dengan alat yang luar biasa

Tutorial lainnya untuk mengirim email di Excel ...


Kirim email dengan rentang tertentu disisipkan ke badan email di Excel

Kode VBA berikut dapat membantu Anda menyalin rentang dan menempelkannya ke badan email Outlook secara langsung di Excel. Silakan lakukan sebagai berikut.

1. Di lembar kerja yang berisi kisaran yang perlu Anda salin, tekan lain + F11 tombol secara bersamaan untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. Dalam pembukaan Microsoft Visual Basic untuk Aplikasi jendela, silakan klik Tools > Referensi seperti gambar di bawah ini.

3. Dalam Referensi - VBAProject kotak dialog, silakan temukan dan centang Perpustakaan Objek Microsoft Outlook opsi, dan kemudian klik OK .

4. klik Menyisipkan > Modul, lalu salin dan tempel kode VBA di bawah ini ke jendela Modul.

Kode VBA: Kirim email dengan rentang tertentu yang ditempelkan ke badan email di Excel

Sub Send_Email()
'Updated by Extendoffice 20200119
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xEmailBody As String
    Dim xMailOut As Outlook.MailItem
    Dim xOutApp As Outlook.Application    
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xRg.Rows.Count
        For J = 1 To xRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xRg.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 = "happy.xuebi@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Catatan:

  • 1). Harap ubah badan email sesuai xEmailBody = "Hi" & vbLf & vbLf & "isi pesan yang ingin Anda tambahkan" & vbLf & vbLf & xEmailBody & vbNewLine seperti yang Anda butuhkan
  • 2). Harap tentukan penerima email dan subjek Anda (.Untuk = senang.xuebi@163.com serta .Subject = "test") baris dalam kode.

5. tekan F5 kunci untuk menjalankan kode. Dalam bermunculan Kutools untuk Excel kotak dialog, pilih rentang yang perlu Anda tempelkan di badan email, lalu klik OK tombol. Lihat tangkapan layar:

6. Sekarang sebuah email dibuat dengan penerima, subjek, badan dan rentang Excel yang dipilih, silakan klik Kirim tombol untuk mengirim email ini. Lihat tangkapan layar yang ditampilkan.

Note: Kode VBA hanya berfungsi saat Anda menggunakan Outlook sebagai program email Anda.


Kirim email dengan rentang tertentu yang ditempelkan ke badan email dengan alat yang luar biasa

Jika Anda tidak menggunakan Outlook dan masih ingin mengirim email langsung di Excel dengan data rentang tertentu yang ditempel di dalamnya, saya sangat merekomendasikan Mengirim email kegunaan Kutools untuk Excel untukmu. Dengan fitur ini, Anda hanya perlu mengonfigurasi server keluar dari sebuah alamat email, lalu mengirim email di Excel secara langsung melalui alamat email ini di masa mendatang.

Sebelum melamar Kutools untuk Excel, Mohon unduh dan instal terlebih dahulu.

1. Pertama, Anda perlu menyiapkan milis dengan kolom yang dibutuhkan.

  • Tips: Milis harus berisi minimal 2 baris, dan baris pertama harus berupa tajuk (Misalkan Anda ingin mengirim email ke dua alamat email di Excel, ketikkan dua alamat email ini dengan tajuk "Email" seperti gambar di bawah ini. ).
  • Cara lainnya, Anda dapat dengan mudah membuat milis dengan ekstensi Buat Milis fitur.

2. Pilih kisaran Anda akan menambahkan data ke badan email dan tekan Ctrl + C kunci untuk menyalinnya

3. Pilih seluruh milis (termasuk header), klik Kutools Plus > Mengirim email. Lihat tangkapan layar:

4. Kemudian Mengirim email kotak dialog muncul.

  • 4.1) Item dari milis yang dipilih diisi di kolom yang sesuai (Anda dapat menambahkan lebih banyak kolom ke milis sesuai kebutuhan);
  • 4.2) Klik pada kotak badan email, tekan Ctrl + V kunci untuk menempelkan data rentang yang dipilih ke dalamnya. Setelah itu tambahkan konten lain sesuai kebutuhan;
  • 4.3 Hapus centang Kirim email melalui Outlook kotak;
  • 2.4) Klik Pengaturan Server Keluar tombol. Lihat tangkapan layar:

5. Kemudian Pengaturan Server Keluar (SMTP) - Skema Baru kotak dialog muncul. Silakan isi alamat email dengan pengaturan servernya, tentukan folder untuk menyimpan semua surat terkirim setelah memeriksa Simpan email terkirim ke kotak, dan kemudian klik OK tombol untuk menyimpan pengaturan.

6. Ketika kembali ke Mengirim email kotak dialog, klik Kirim tombol untuk mengirim email.

Mulai sekarang, Anda dapat mengirim email dengan fitur ini di Excel secara langsung.

  Jika Anda ingin memiliki uji coba gratis (30 hari) dari utilitas ini, silahkan klik untuk mendownloadnya, lalu lanjutkan untuk menerapkan operasi sesuai langkah di atas.


Artikel terkait:

Kirim email ke alamat email yang ditentukan dalam sel di Excel
Misalkan Anda memiliki daftar alamat email, dan Anda ingin mengirim pesan email ke alamat email ini secara massal langsung di Excel. Bagaimana cara mencapainya? Artikel ini akan menunjukkan metode pengiriman email ke beberapa alamat email yang ditentukan dalam sel di Excel.

Sisipkan tanda tangan Outlook saat mengirim email di Excel
Misalkan Anda ingin mengirim email langsung di Excel, bagaimana Anda bisa menambahkan tanda tangan Outlook default di email mereka? Artikel ini menyediakan dua metode untuk membantu Anda menambahkan tanda tangan Outlook saat mengirim email di Excel.

Kirim email dengan beberapa lampiran yang dilampirkan di Excel
Artikel ini membahas tentang mengirim email melalui Outlook dengan beberapa lampiran yang dilampirkan di Excel.

Kirim email jika tanggal jatuh tempo sudah terpenuhi di Excel
Misalnya, jika tanggal jatuh tempo di kolom C kurang dari atau sama dengan 7 hari (tanggal sekarang adalah 2017/9/13), maka kirim pengingat email ke penerima yang ditentukan di kolom A dengan konten yang ditentukan di kolom B.Cara mencapainya? Artikel ini akan memberikan metode VBA untuk mengatasinya secara detail.

Kirim email secara otomatis berdasarkan nilai sel di Excel
Misalkan Anda ingin mengirim email melalui Outlook ke penerima tertentu berdasarkan nilai sel tertentu di Excel. Misalnya, jika nilai sel D7 di lembar kerja lebih besar dari 200, maka email dibuat secara otomatis. Artikel ini memperkenalkan metode VBA bagi Anda untuk menyelesaikan masalah ini dengan cepat.

Tutorial lainnya untuk mengirim email di Excel ...


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 (20)
Rated 4.5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Kode ini bagus, tetapi saya harus mengeksekusi dengan tombol perintah daripada menekan F5 dalam tampilan kode. Saya ingin karyawan saya dapat mengisi beberapa info, lalu tekan tombol dan salin rentang sel yang mereka selesaikan dan tempel ke email. Saya bisa membuat kode berfungsi untuk tombol email dan secara terpisah untuk salin/tempel rentang sel, tetapi sepertinya tidak bisa menggabungkan kedua fungsi. Tolong bantu!!! Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hi Michael,
Anda hanya perlu membuat tombol (seperti Tombol (Kontrol Formulir)) di lembar kerja Anda, lalu tetapkan makro ke tombol tersebut.
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal, Terima kasih!
Saya telah membuat kode dan bertanya-tanya bagaimana cara menetapkan tombol Command ke kode. Postingan Anda membantu! dan laporan saya bekerja seperti pesona.

Terima kasih lagi.
Komentar ini diminimalkan oleh moderator di situs
Ini bagus. Ini bekerja seperti yang diharapkan. Satu-satunya masalah adalah bahwa format tabel tidak dipertahankan dalam surat. Bisakah Anda memberi tahu saya bagaimana kami mempertahankan format tabel dalam surat?
Komentar ini diminimalkan oleh moderator di situs
Hi
Kode ini sangat bervariasi, dengan menggunakan kode saya telah menyelesaikan 90% proyek saya.
Saya memiliki masalah yang sama seperti yang disebutkan oleh Anirudh yaitu pemformatan tabel. Bagaimana saya bisa memformat tabel di email.
Tolong bantu aku......
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Masalahnya belum bisa diselesaikan. Mohon maaf atas ketidaknyamanannya dan terima kasih atas komentarnya.
Komentar ini diminimalkan oleh moderator di situs
Hai, Apakah ada pembaruan di bawah ini .......
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya Juga Ingin kode untuk "Filter menurut Tanggal".
Saya sedang mengerjakan proyek, pada proyek itu saya ingin memfilter data berdasarkan tanggal, sebenarnya kami telah memfilter/menyembunyikan 05 hari terakhir hingga data tanggal saat ini dan kami telah menyorot semua data lainnya.
Tolong bantu saya untuk menyelesaikan proyek ini.
Bantuan Anda sangat besar-penuh bagi saya.
Komentar ini diminimalkan oleh moderator di situs
Kode untuk dikirim secara otomatis setelah memilih setelah ok
Komentar ini diminimalkan oleh moderator di situs
ini menempel sebagai teks. Mohon saran cara mengirim tabel atau format yang sama yang disalin dari excel.
Komentar ini diminimalkan oleh moderator di situs
saya melihat kesalahan kompilasi (Tipe yang ditentukan pengguna tidak ditentukan". Tolong bantu saya untuk mengatasi ini.
Komentar ini diminimalkan oleh moderator di situs
Hai,
Silakan masuk ke jendela Referensi dengan mengklik Alat > referensi. Gulir ke bawah untuk menemukan dan mencentang kotak Perpustakaan Objek Microsoft Outlook dan klik tombol OK untuk menyelesaikan pengaturan.
Komentar ini diminimalkan oleh moderator di situs
Hai para ahli, Apakah kami memiliki pembaruan tentang bagaimana format dipertahankan?
Komentar ini diminimalkan oleh moderator di situs
Hai,
Tidak bisa mengetahuinya. Maaf untuk itu.
Komentar ini diminimalkan oleh moderator di situs
Hai,
Alih-alih memilih rentang secara manual, saya ingin memilih rentang secara otomatis.
Komentar ini diminimalkan oleh moderator di situs
Hai Raman,
Pada kode di bawah ini, silahkan ganti range "A1:C5" pada baris Set xRg = Range("A1:C5") dengan range Anda sendiri.

Sub Kirim_Email()
Redupkan xRg Sebagai Rentang
Dim I, J As Long
Redupkan xAlamat Sebagai String
Redupkan xEmailBody Sebagai String
Redupkan xMailOut Sebagai Outlook.MailItem
Redupkan xOutApp Sebagai Outlook.Application
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Tetapkan xRg = Range("A1:C5")
Jika xRg Bukan Apa-apa Kemudian Keluar Sub
Application.ScreenUpdating = Salah
Setel xOutApp = CreateObject("Outlook.Application")
Setel xMailOut = xOutApp.CreateItem(olMailItem)
Untuk I = 1 Ke xRg.Rows.Count
Untuk J = 1 Ke xRg.Columns.Count
xEmailBody = xEmailBody & " " & xRg.Cells(I, J).Nilai
Next
xEmailBody = xEmailBody & vbNewLine
Next
xEmailBody = "Hi" & vbLf & vbLf & "isi pesan yang ingin Anda tambahkan" & vbLf & vbLf & xEmailBody & vbNewLine
Dengan xMailOut
.Subjek = "Tes"
.Untuk = "happy.xuebi@163.com"
.Body = xEmailBody
.Tampilan
'.Kirim
Berakhir dengan
Setel xMailOut = Tidak Ada
Setel xOutApp = Tidak Ada
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai,
Alih-alih memilih rentang, saya ingin memilih beberapa pivot di excel.
Bisakah kamu menolongku.
Komentar ini diminimalkan oleh moderator di situs
Halo,
dapatkah Anda membantu saya di bawah ini?
Saya telah membuat lembar excel & memperbarui 10 detail email pemasok. Saya telah mengirim email melalui excel ke semua 10 pemasok dengan lampiran lembar individual dengan email individual.
Saya ingin menempelkan data excel di badan pandangan alih-alih lampiran di surat
ada yang bisa bantu saya
Komentar ini diminimalkan oleh moderator di situs
Satu-satunya masalah adalah bahwa format tabel tidak dipertahankan dalam surat. Bisakah Anda memberi tahu saya bagaimana kami mempertahankan format tabel dalam surat, saya memiliki masalah yang sama, dapatkah Anda melihat apakah Anda dapat memperbaruinya, jika tidak, ini luar biasa.
Terimakasih banyak
Rated 4.5 dari 5
Komentar ini diminimalkan oleh moderator di situs
Hai Andy Mitchell,
Jika Anda ingin mempertahankan format tabel, skrip VBA berikut dapat membantu Anda. Ayo cobalah. Terima kasih.
Sub Send_Email()
'Updated by Extendoffice 20220616
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan