Ga naar hoofdinhoud

Hoe e-mail verzenden met het kopiëren en plakken van een opgegeven bereik in de e-mailtekst in Excel?

In veel gevallen kan een bepaald inhoudsbereik in het Excel-werkblad nuttig zijn in uw e-mailcommunicatie. In dit artikel introduceren we een methode voor het verzenden van een e-mail met een opgegeven bereik dat rechtstreeks in Excel in de hoofdtekst van de e-mail wordt geplakt.

Verzend e-mail met een opgegeven bereik dat in Excel in de hoofdtekst van de e-mail is geplakt
Verzend e-mail met een opgegeven bereik in de hoofdtekst van de e-mail met een geweldige tool

Meer tutorials voor mailen in Excel ...


Verzend e-mail met een opgegeven bereik dat in Excel in de hoofdtekst van de e-mail is geplakt

De volgende VBA-code kan u helpen bij het kopiëren van een bereik en het rechtstreeks in Excel in een Outlook-e-mailtekst plakken. Ga als volgt te werk.

1. In het werkblad bevat het bereik dat u wilt kopiëren, druk op de anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. In de opening Microsoft Visual Basic voor toepassingen venster, klik dan Tools > Referenties zoals hieronder getoond screenshot.

3. In de Referenties - VBAProject dialoogvenster, zoek en controleer het Microsoft Outlook-objectbibliotheek optie en klik vervolgens op het OK knop.

4. klikken Invoegen > Module, kopieer en plak vervolgens de onderstaande VBA-code in het modulevenster.

VBA-code: stuur e-mail met een opgegeven bereik dat in de hoofdtekst van de e-mail in Excel is geplakt

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 = ""
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Opmerkingen:

  • 1). Wijzig de hoofdtekst van de e-mail in de rij xEmailBody = "Hallo" & vbLf & vbLf & "berichttekst die u wilt toevoegen" & vbLf & vbLf & xEmailBody & vbNewLine als je nodig hebt.
  • 2). Geef uw e-mailontvanger en onderwerp op (.Naar = en .Subject = "test") regels in de code.

5. druk de F5 sleutel om de code uit te voeren. Bij het opduiken Kutools for Excel dialoogvenster, selecteer het bereik dat u in de e-mailtekst wilt plakken en klik vervolgens op de OK knop. Zie screenshot:

6. Nu wordt een e-mail gemaakt met de opgegeven ontvanger, onderwerp, hoofdtekst en geselecteerd Excel-bereik. Klik op de Verzenden knop om deze e-mail te verzenden. Zie screenshot getoond.

Note: De VBA-code werkt alleen als u Outlook als uw e-mailprogramma gebruikt.


Verzend e-mail met een opgegeven bereik in de hoofdtekst van de e-mail met een geweldige tool

Als u Outlook niet gebruikt en toch e-mails rechtstreeks in Excel wilt verzenden met een opgegeven bereikgegevens erin geplakt, raad ik het Stuur emails nut van Kutools for Excel voor jou. Met deze functie hoeft u alleen maar de uitgaande server van een e-mailadres te configureren en in de toekomst e-mails rechtstreeks in Excel via dit e-mailadres te verzenden.

Voor het aanvragen Kutools for Excel, Dan kunt u download en installeer het eerst.

1. Ten eerste moet u een mailinglijst opstellen met de benodigde velden.

  • Tips: De mailinglijst moet ten minste 2 rijen bevatten en de eerste rij moet de kopteksten zijn (stel dat u e-mails naar twee e-mailadressen in Excel wilt sturen, typ dan deze twee e-mailadressen in met koptekst 'E-mail', zoals de onderstaande schermafbeelding laat zien ).
  • Als alternatief kunt u eenvoudig een mailinglijst maken met de Maak een mailinglijst kenmerk.

2. Selecteer het bereik waarin u de gegevens aan de e-mailtekst wilt toevoegen en druk op Ctrl + C toetsen om het te kopiëren.

3. Selecteer de hele mailinglijst (inclusief headers), klik Koetools Plus > Stuur emails. Zie screenshot:

4. Vervolgens de Stuur emails dialoogvenster verschijnt.

  • 4.1) Items van de geselecteerde mailinglijst worden ingevuld in overeenkomstige velden (u kunt indien nodig meer velden aan de mailinglijst toevoegen);
  • 4.2) Klik op het tekstvak van de e-mail en druk op Ctrl + V toetsen om de geselecteerde bereikgegevens erin te plakken. Voeg daarna andere inhoud toe als je nodig hebt;
  • 4.3 Schakel het selectievakje uit Stuur e-mails via Outlook doos;
  • 2.4) Klik op de Uitgaande serverinstellingen knop. Zie screenshot:

5. Vervolgens de Instellingen uitgaande server (SMTP) - Nieuw schema dialoogvenster verschijnt. Vul het e-mailadres in met de serverinstellingen, specificeer een map om alle verzonden e-mails op te slaan na het controleren van de Bewaar verzonden e-mails naar vak en klik vervolgens op het OK om de instellingen op te slaan.

6. Wanneer het terugkeert naar het Stuur emails dialoogvenster, klik op de Verzenden knop om de e-mail te verzenden.

Vanaf nu kunt u met deze functie rechtstreeks e-mails verzenden in Excel.

  Als u een gratis proefperiode (30 dagen) van dit hulpprogramma wilt, klik om het te downloaden, en ga vervolgens de bewerking toepassen volgens de bovenstaande stappen.


Gerelateerde artikelen:

Stuur e-mail naar e-mailadressen die zijn opgegeven in cellen in Excel
Stel dat u een lijst met e-mailadressen heeft en u wilt rechtstreeks in Excel een e-mailbericht naar deze e-mailadressen sturen. Hoe bereik je dit? Dit artikel toont u methoden voor het verzenden van e-mail naar meerdere e-mailadressen die zijn opgegeven in cellen in Excel.

Voeg Outlook-handtekening in bij het verzenden van e-mail in Excel
Stel dat u een e-mail rechtstreeks in Excel wilt verzenden, hoe kunt u dan de standaard Outlook-handtekening in deze e-mail toevoegen? Dit artikel biedt twee methoden om u te helpen bij het toevoegen van een Outlook-handtekening bij het verzenden van e-mail in Excel.

Stuur een e-mail met meerdere bijlagen in Excel
In dit artikel wordt gesproken over het verzenden van een e-mail via Outlook met meerdere bijlagen in Excel.

Stuur een e-mail als de vervaldatum is bereikt in Excel
Als de vervaldatum in kolom C bijvoorbeeld minder is dan of gelijk is aan 7 dagen (huidige datum is 2017/9/13), stuur dan een e-mailherinnering naar de opgegeven ontvanger in kolom A met de opgegeven inhoud in kolom B. het bereiken? Dit artikel biedt een VBA-methode om er in detail mee om te gaan.

Verzend automatisch e-mail op basis van celwaarde in Excel
Stel dat u via Outlook een e-mail naar een bepaalde ontvanger wilt sturen op basis van een opgegeven celwaarde in Excel. Als de waarde van cel D7 in een werkblad bijvoorbeeld groter is dan 200, wordt automatisch een e-mail gemaakt. Dit artikel introduceert een VBA-methode waarmee u dit probleem snel kunt oplossen.

Meer tutorials voor mailen in Excel ...

Beste Office-productiviteitstools

Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

kte tabblad 201905


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
Comments (22)
Rated 4.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
The only issue is that the format of the table is not maintained in the mail. Can you let me know how do we preserve the format of the table in the mail, I have the same issue, could you see if you could update it please, otherwise this is excellent.
Many thanks
Rated 4.5 out of 5
This comment was minimized by the moderator on the site
Hi Andy Mitchell,
If you want to maintain the format of the table, the following VBA script can do you a favor. Please give it a try. Thank you.
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 = ""
        .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
This comment was minimized by the moderator on the site
This worked perfectly, thank you so much.
I can now add my spin on it to get it doing what I need.
This comment was minimized by the moderator on the site
Hi Paul Johnson,

Very happy to help you solve the problem. Have a good day at work.
This comment was minimized by the moderator on the site
hello,
can you help me on below
I have create excel sheet & updated 10 supplier mail detailI have send mail through excel to all 10 supplier with individual sheet attachment with individual mail.
I want to paste excel data in outlook body instead of attachment in mail
can any one help me
This comment was minimized by the moderator on the site
Hi,
Instead of selecting the range, I want to select multiple pivots in the excel.
can you please help me.
This comment was minimized by the moderator on the site
Hi,
Instead of selecting the range manually, I want to select the range automatically.
This comment was minimized by the moderator on the site
Hi Raman,
In the below code, please replace the range "A1:C5" in line Set xRg = Range("A1:C5") with your own range.

Sub Send_Email()
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 = Range("A1:C5")
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 = ""
.Body = xEmailBody
.Display
'.Send
End With
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hi experts, Do we have updates on how the format maintained?
This comment was minimized by the moderator on the site
Hi Ther,
Can't figure it out. Sorry for that.
This comment was minimized by the moderator on the site
i am seeing a compile error (User-defined type not defined". Please help me out to overcome this.
This comment was minimized by the moderator on the site
Hi,
Please get into the Reference window by clicking Tools > references. Scroll down to find and check the Microsoft Outlook Object Library box and click the OK button to finish the setting.
This comment was minimized by the moderator on the site
this is pasting as a text. Kindly suggest how to send the table or the same format which is copied from the excel.
This comment was minimized by the moderator on the site
Code to send automatically after selecting after ok
This comment was minimized by the moderator on the site
Hi
This code is vary excellent, by using the code i have completed my 90% of my project.
I have same issue as mentioned by Anirudh that is table formatting. How can i format the table in email.
Please help me......
This comment was minimized by the moderator on the site
Good Day,
The problem can't be solved yet. Sorry for the inconvenience and thank you for your comment.
This comment was minimized by the moderator on the site
Hi, Is there any update on below.......
This comment was minimized by the moderator on the site
Hi, Also I Wanted code for "Filter by Date".
I am working on project, on that project I wanted to filter the data by the date, actually we have filter/hide the and last 05 days to current date data and we have highlight all other data.
Please help me to complete this project.
Your help is very great-full for me.
This comment was minimized by the moderator on the site
This is great. It is working as expected. The only issue is that the format of the table is not maintained in the mail. Can you let me know how do we preserve the format of the table in the mail
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations