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

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

Notes:

  • 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 (.To = happy.xuebi@163.com 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 Verstuur knop om deze e-mail te verzenden. Zie screenshot getoond.

Opmerking:: 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 Kutools 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 Verstuur 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 ...


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
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 elke dag honderden muisklikken!
officetab onderkant
Comments (20)
Rated 4.5 uit 5 · 1 ratings
Deze opmerking is gemaakt door de moderator op de site
Deze code is geweldig, maar ik moet het uitvoeren met een opdrachtknop in plaats van op F5 te drukken in de codeweergave. Ik wil dat mijn werknemers wat informatie kunnen invullen, dan op de knop drukken en het celbereik dat ze hebben ingevuld laten kopiëren en in e-mail plakken. Ik kan code werkend krijgen voor de e-mailknop en afzonderlijk voor het kopiëren/plakken van het celbereik, maar het lijkt erop dat ik beide functies niet kan combineren. Help alstublieft!!! Bedankt!
Deze opmerking is gemaakt door de moderator op de site
Hi Michael,
U hoeft alleen maar een knop (zoals een knop (formulierbesturingselement)) in uw werkblad te maken en vervolgens de macro aan de knop toe te wijzen.
Deze opmerking is gemaakt door de moderator op de site
Hoi Kristal, bedankt!
Ik had een code gemaakt en vroeg me af hoe ik de Command-knop aan de code kon toewijzen. Je bericht heeft geholpen! en mijn rapport werkt als een tierelier.

Nogmaals bedankt.
Deze opmerking is gemaakt door de moderator op de site
Dit is geweldig. Het werkt zoals verwacht. Het enige probleem is dat het formaat van de tabel niet wordt gehandhaafd in de e-mail. Kun je me laten weten hoe we het formaat van de tabel in de e-mail behouden?
Deze opmerking is gemaakt door de moderator op de site
Hi
Deze code is uitstekend, door de code te gebruiken heb ik mijn 90% van mijn project voltooid.
Ik heb hetzelfde probleem als vermeld door Anirudh, namelijk tabelopmaak. Hoe kan ik de tabel in e-mail opmaken.
Help me alstublieft......
Deze opmerking is gemaakt door de moderator op de site
Good Day,
Het probleem is nog niet op te lossen. Excuses voor het ongemak en bedankt voor uw reactie.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Is er een update over hieronder .......
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik wilde ook een code voor "Filter op datum".
Ik werk aan een project, aan dat project wilde ik de gegevens filteren op de datum, eigenlijk hebben we filter / verberg de en laatste 05 dagen tot de huidige datumgegevens en we hebben alle andere gegevens gemarkeerd.
Help me alsjeblieft om dit project te voltooien.
Uw hulp is zeer groot-vol voor mij.
Deze opmerking is gemaakt door de moderator op de site
Code om automatisch te verzenden na selectie na ok
Deze opmerking is gemaakt door de moderator op de site
dit is plakken als tekst. Stel alstublieft voor hoe u de tabel verzendt of hetzelfde formaat dat is gekopieerd uit Excel.
Deze opmerking is gemaakt door de moderator op de site
ik zie een compileerfout (door de gebruiker gedefinieerd type niet gedefinieerd". Help me alstublieft om dit te verhelpen.
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Ga naar het referentievenster door op Extra > referenties te klikken. Scroll naar beneden om het vakje Microsoft Outlook-objectbibliotheek te zoeken en aan te vinken en klik op de knop OK om de instelling te voltooien.
Deze opmerking is gemaakt door de moderator op de site
Hallo experts, hebben we updates over hoe het formaat wordt onderhouden?
Deze opmerking is gemaakt door de moderator op de site
Hallo Ther,
Kan het niet bedenken. Sorry daarvoor.
Deze opmerking is gemaakt door de moderator op de site
Hoi,
In plaats van het bereik handmatig te selecteren, wil ik het bereik automatisch selecteren.
Deze opmerking is gemaakt door de moderator op de site
Hallo Raman,
Vervang in de onderstaande code het bereik "A1:C5" in de regel Set xRg = Range ("A1:C5") door uw eigen bereik.

Sub Send_Email()
Dim xRg als bereik
Dim I, J As Long
Dim xAdres als string
Dim xEmailBody As String
Dim xMailOut als Outlook.MailItem
Dim xOutApp als Outlook.Application
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Stel xRg = Bereik ("A1:C5") in
Als xRg niets is, sluit dan Sub af
Application.ScreenUpdating = False
Stel xOutApp = CreateObject ("Outlook.Application") in
Stel xMailOut = xOutApp.CreateItem (olMailItem) in
Voor I = 1 Tot xRg.Rows.Count
Voor J = 1 tot xRg.Kolommen.Aantal
xEmailBody = xEmailBody & " " & xRg.Cells(I, J).Waarde
Volgende
xEmailBody = xEmailBody & vbNewLine
Volgende
xEmailBody = "Hallo" & vbLf & vbLf & "berichttekst die u wilt toevoegen" & vbLf & vbLf & xEmailBody & vbNewLine
Met xMailOut
.Onderwerp = "Test"
.To = "happy.xuebi@163.com"
.Body = xEmailBody
.Scherm
'.Versturen
Eindigt met
Stel xMailOut = Niets in
Stel xOutApp = Niets in
Application.ScreenUpdating = True
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoi,
In plaats van het bereik te selecteren, wil ik meerdere draaipunten in Excel selecteren.
kan je me alsjeblieft helpen.
Deze opmerking is gemaakt door de moderator op de site
Hallo,
kun je me hieronder helpen
Ik heb een Excel-blad gemaakt en 10 leveranciersmaildetail bijgewerkt. Ik heb e-mail via Excel naar alle 10 leveranciers gestuurd met individuele bladbijlage met individuele e-mail.
Ik wil Excel-gegevens in Outlook-hoofdtekst plakken in plaats van bijlage in e-mail
kan iemand mij helpen
Deze opmerking is gemaakt door de moderator op de site
Het enige probleem is dat het formaat van de tabel niet wordt gehandhaafd in de e-mail. Kun je me laten weten hoe we het formaat van de tabel in de e-mail behouden, ik heb hetzelfde probleem, zou je kunnen zien of je het zou kunnen bijwerken, anders is dit uitstekend.
Erg bedankt
Rated 4.5 uit 5
Deze opmerking is gemaakt door de moderator op de site
Hallo Andy Mitchel,
Als u het formaat van de tabel wilt behouden, kan het volgende VBA-script u een plezier doen. Probeer het alsjeblieft. Dank je.
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
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties