Note: The other languages of the website are Google-translated. Back to English
Logga in  \/ 
x
or
x
Registrera  \/ 
x

or

Hur skickar jag e-post med kopiering och klistrar in ett angivet intervall i e-postkroppen i Excel?

I många fall kan ett visst innehållsintervall i Excel-kalkylblad vara användbart i din e-postkommunikation. I den här artikeln kommer vi att introducera en metod för att skicka ett e-postmeddelande med angivet intervall som klistras in i e-postkroppen direkt i Excel.

Skicka e-post med ett angivet intervall klistrat in i e-posttexten i Excel
Skicka e-post med ett angivet intervall klistrat in i e-postkroppen med ett fantastiskt verktyg

Fler handledning för utskick i Excel ...


Skicka e-post med ett angivet intervall klistrat in i e-posttexten i Excel

Följande VBA-kod kan hjälpa dig att kopiera ett intervall och klistra in det i en Outlook-e-postkropp direkt i Excel. Gör så här.

1. I kalkylbladet innehåller det intervall du behöver kopiera, tryck på andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. I öppningen Microsoft Visual Basic för applikationer klicka på fönstret verktyg > referenser som nedan visas skärmdump.

3. I Referenser - VBAProject dialogrutan, vänligen hitta och kontrollera Microsoft Outlook-objektbibliotek och klicka sedan på OK knapp.

4. klick Insert > Modulerna, kopiera och klistra in nedanstående VBA-kod i modulfönstret.

VBA-kod: Skicka e-post med ett angivet intervall klistrat in i e-postkroppen i 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

Anmärkningar:

  • 1). Ändra e-postadressen i rad xEmailBody = "Hej" & vbLf & vbLf & "meddelande som du vill lägga till" & vbLf & vbLf & xEmailBody & vbNewLine som du behöver.
  • 2). Vänligen ange din e-postmottagare och ämne (.Till = happy.xuebi@163.com och .Subject = "test") rader i koden.

5. tryck på F5 för att köra koden. I pop-up Kutools för Excel dialogrutan, välj det intervall du behöver klistra in i e-posttexten och klicka sedan på OK knapp. Se skärmdump:

6. Nu skapas ett e-postmeddelande med angiven mottagare, ämne, kropp och valt Excel-intervall, klicka på Skicka knappen för att skicka detta e-postmeddelande. Se skärmdump som visas.

Anmärkningar: VBA-koden fungerar bara när du använder Outlook som ditt e-postprogram.


Skicka e-post med ett angivet intervall klistrat in i e-postkroppen med ett fantastiskt verktyg

Om du inte använder Outlook och ändå vill skicka e-postmeddelanden direkt i Excel med angiven intervalldata klistrad inuti rekommenderar jag starkt Skicka e-mail nytta av Kutools för Excel till dig. Med den här funktionen behöver du bara konfigurera den utgående servern för en e-postadress och sedan skicka e-postmeddelanden i Excel direkt via den här e-postadressen i framtiden.

Innan du ansöker Kutools för ExcelBer ladda ner och installera det först.

1. För det första måste du förbereda en e-postlista med nödvändiga fält.

  • tips: E-postlistan måste innehålla minst två rader, och den första raden måste vara rubrikerna (antar att du vill skicka e-post till två e-postadresser i Excel, skriv in dessa två e-postadresser med rubriken "E-post" som nedanstående skärmdump visas ).
  • Alternativt kan du enkelt skapa en e-postlista med Skapa e-postlista särdrag.

2. Välj det intervall som du vill lägga till data till e-postkroppen och tryck på ctrl + C nycklar för att kopiera den.

3. Välj hela e-postlistan (inkludera rubriker), klicka Kutools Plus > Skicka e-mail. Se skärmdump:

4. Sedan Skicka e-mail dialogrutan dyker upp.

  • 4.1) Objekt i den valda e-postlistan fylls i motsvarande fält (du kan lägga till fler fält i e-postlistan efter behov);
  • 4.2) Klicka på rutan för e-post och tryck på ctrl + V för att klistra in den valda områdesdata i den. Därefter lägger du till annat innehåll efter behov;
  • 4.3 Avmarkera kryssrutan Skicka e-post via Outlook låda;
  • 2.4) Klicka på Inställningar för utgående server knapp. Se skärmdump:

5. Sedan Inställningar för utgående server (SMTP) - nytt schema dialogrutan dyker upp. Fyll i e-postadressen med dess serverinställningar, ange en mapp för att spara alla skickade e-postmeddelanden efter att ha kontrollerat Spara skickade e-postmeddelanden till och klicka sedan på OK knappen för att spara inställningarna.

6. När den återgår till Skicka e-mail dialogrutan, klicka på Skicka knappen för att skicka e-postmeddelandet.

Från och med nu kan du skicka e-postmeddelanden med den här funktionen i Excel direkt.

  Om du vill ha en gratis testversion (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Relaterade artiklar:

Skicka e-post till e-postadresser som anges i celler i Excel
Antag att du har en lista med e-postadresser och att du vill skicka e-postmeddelanden till dessa e-postadresser i bulk direkt i Excel. Hur uppnår man det? Den här artikeln visar metoder för att skicka e-post till flera e-postadresser som anges i celler i Excel.

Infoga Outlook-signatur när du skickar e-post i Excel
Om du antar att du vill skicka ett e-postmeddelande direkt i Excel, hur kan du lägga till standard Outlook-signaturen i detta e-postmeddelande? Den här artikeln innehåller två metoder som hjälper dig att lägga till Outlook-signatur när du skickar e-post i Excel.

Skicka e-post med flera bilagor bifogade i Excel
Den här artikeln talar om att skicka ett e-postmeddelande via Outlook med flera bilagor bifogade i Excel.

Skicka e-post om förfallodatum har uppnåtts i Excel
Till exempel, om förfallodagen i kolumn C är mindre än eller lika med 7 dagar (nuvarande datum är 2017/9/13), skicka sedan en e-postpåminnelse till den angivna mottagaren i kolumn A med specificerat innehåll i kolumn B. uppnå det? Den här artikeln ger en VBA-metod för att hantera den i detalj.

Skicka automatiskt e-post baserat på cellvärde i Excel
Antar att du vill skicka ett e-postmeddelande via Outlook till en viss mottagare baserat på ett angivet cellvärde i Excel. Till exempel, när värdet på cell D7 i ett kalkylblad är större än 200, skapas ett e-postmeddelande automatiskt. Den här artikeln introducerar en VBA-metod för dig att snabbt lösa problemet.

Fler handledning för utskick i Excel ...


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2019 och 365. Stöder alla språk. Enkel distribution i ditt företag eller organisation. Fullständiga funktioner 30-dagars gratis provperiod. 60-dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50% och minskar hundratals musklick åt dig varje dag!
officetab botten
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Yogesh Girase · 6 months ago
    hello,

    can you help me on below

    I have create excel sheet & updated 10 supplier mail detail
    I 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

  • To post as a guest, your comment is unpublished.
    Arul · 1 years ago
    Hi,
    Instead of selecting the range, I want to select multiple pivots in the excel.
    can you please help me.
  • To post as a guest, your comment is unpublished.
    Raman · 1 years ago
    Hi,
    Instead of selecting the range manually, I want to select the range automatically.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      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 = "happy.xuebi@163.com"
      .Body = xEmailBody
      .Display
      '.Send
      End With
      Set xMailOut = Nothing
      Set xOutApp = Nothing
      Application.ScreenUpdating = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Ther · 1 years ago
    Hi experts, Do we have updates on how the format maintained?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Ther,
      Can't figure it out. Sorry for that.
  • To post as a guest, your comment is unpublished.
    Gowtham · 1 years ago
    i am seeing a compile error (User-defined type not defined". Please help me out to overcome this.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      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.
  • To post as a guest, your comment is unpublished.
    sachin kumr · 2 years ago
    this is pasting as a text. Kindly suggest how to send the table or the same format which is copied from the excel.
  • To post as a guest, your comment is unpublished.
    miguel · 2 years ago
    Code to send automatically after selecting after ok
  • To post as a guest, your comment is unpublished.
    Dhiraj Mahajan · 2 years ago
    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......
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Good Day,
      The problem can't be solved yet. Sorry for the inconvenience and thank you for your comment.
      • To post as a guest, your comment is unpublished.
        mahajand09@gmail.com · 2 years ago
        Hi, Is there any update on below.......
        • To post as a guest, your comment is unpublished.
          mahajand09@gmail.com · 2 years ago
          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.
  • To post as a guest, your comment is unpublished.
    ghosh · 2 years ago
    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
  • To post as a guest, your comment is unpublished.
    mfergus · 2 years ago
    This code is great, but I need to execute with a command button rather than pressing F5 in code view. I'd like my employees to be able to fill out some info, then hit the button and have it copy the range of cells they completed and paste into email. I can get code working for the email button and separately for the copy/paste of the range of cells, but can't seem to combine both functions. Please help!!! Thanks!
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Michael,
      You just need to create a button (such as a Button (Form Control)) in your worksheet, then assign the macro to the button.
      • To post as a guest, your comment is unpublished.
        prasana05@gmail.com · 1 years ago
        Hi Crystal, Thank you!
        I had a code created and was wondering how to assign the Command button to the code. Your post helped! and my report works like a charm.

        Thanks again.