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

or

Come inviare e-mail copiando e incollando un intervallo specificato nel corpo dell'e-mail in Excel?

In molti casi, un intervallo di contenuti specificato nel foglio di lavoro di Excel può essere utile nella comunicazione e-mail. In questo articolo, introdurremo un metodo per inviare un'e-mail con un intervallo specificato incollato nel corpo dell'e-mail direttamente in Excel.

Invia e-mail con un intervallo specificato incollato nel corpo dell'e-mail in Excel
Invia e-mail con un intervallo specificato incollato nel corpo dell'e-mail con uno strumento straordinario

Altri tutorial per l'invio di posta in Excel ...


Invia e-mail con un intervallo specificato incollato nel corpo dell'e-mail in Excel

Il seguente codice VBA può aiutarti a copiare un intervallo e incollarlo nel corpo di un messaggio di posta elettronica di Outlook direttamente in Excel. Si prega di fare quanto segue.

1. Nel foglio di lavoro contiene l'intervallo che è necessario copiare, premere il tasto altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. In apertura Microsoft Visual Basic, Applications Edition finestra, fare clic Strumenti > Referenze come mostrato nell'immagine sottostante.

3. Nel Riferimenti - VBAProject finestra di dialogo, trova e controlla il file Libreria di oggetti di Microsoft Outlook opzione, quindi fare clic su OK pulsante.

4. Clic inserire > Modulo, quindi copia e incolla il codice VBA sottostante nella finestra del modulo.

Codice VBA: invia e-mail con un intervallo specificato incollato nel corpo dell'e-mail in 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

Note:

  • 1). Si prega di modificare il corpo dell'email in linea xEmailBody = "Ciao" & vbLf & vbLf & "corpo del messaggio che desideri aggiungere" & vbLf & vbLf & xEmailBody & vbNewLine di cui hai bisogno.
  • 2). Si prega di specificare il destinatario e l'oggetto dell'e-mail (.To = felice.xuebi@163.com .Subject = "test") righe nel codice.

5. premi il F5 chiave per eseguire il codice. Nel spuntare Kutools for Excel finestra di dialogo, selezionare l'intervallo che è necessario incollare nel corpo dell'e-mail, quindi fare clic su OK pulsante. Vedi screenshot:

6. Ora viene creata un'e-mail con il destinatario, l'oggetto, il corpo e l'intervallo di Excel selezionati specificati, fare clic su Invia pulsante per inviare questa email. Vedi screenshot mostrato.

Osservazioni:: Il codice VBA funziona solo quando utilizzi Outlook come programma di posta elettronica.


Invia e-mail con un intervallo specificato incollato nel corpo dell'e-mail con uno strumento straordinario

Se non utilizzi Outlook e desideri comunque inviare e-mail direttamente in Excel con un intervallo specificato di dati incollati all'interno, consiglio vivamente il Inviare emails utilità di Kutools for Excel per te. Con questa funzione, devi solo configurare il server in uscita di un indirizzo e-mail, quindi inviare e-mail in Excel direttamente tramite questo indirizzo e-mail in futuro.

Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.

1. In primo luogo, è necessario preparare una mailing list con i campi necessari.

  • Tip: La mailing list deve contenere almeno 2 righe e la prima riga deve essere le intestazioni (supponendo che si desideri inviare e-mail a due indirizzi e-mail in Excel, digitare questi due indirizzi e-mail con l'intestazione "E-mail" come mostrato nell'immagine sottostante ).
  • In alternativa, puoi creare facilmente una mailing list con l'estensione Crea mailing list caratteristica.

2. Selezionare l'intervallo in cui aggiungere i dati al corpo dell'email e premere il tasto Ctrl + C chiavi per copiarlo.

3. Selezionare l'intera mailing list (includi intestazioni), fare clic su Kutools Plus > Inviare emails. Vedi screenshot:

4. Quindi il file Inviare emails si apre la finestra di dialogo.

  • 4.1) Gli elementi della mailing list selezionata vengono popolati nei campi corrispondenti (puoi aggiungere più campi alla mailing list di cui hai bisogno);
  • 4.2) Fare clic sulla casella del corpo dell'email, premere il pulsante Ctrl + V tasti per incollare al suo interno i dati dell'intervallo selezionato. Successivamente, aggiungi altri contenuti di cui hai bisogno;
  • 4.3 Deseleziona il Invia email tramite Outlook scatola;
  • 2.4) Fare clic su Impostazioni del server in uscita pulsante. Vedi screenshot:

5. Quindi il file Impostazioni server in uscita (SMTP) - Nuovo schema si apre la finestra di dialogo. Si prega di inserire l'indirizzo e-mail con le impostazioni del server, specificare una cartella in cui salvare tutte le e-mail inviate dopo aver controllato il file Salva le email inviate a casella, quindi fare clic su OK pulsante per salvare le impostazioni.

6. Quando ritorna al file Inviare emails finestra di dialogo, fare clic su Invia pulsante per inviare l'email.

D'ora in poi, puoi inviare e-mail con questa funzione direttamente in Excel.

  Se desideri avere una prova gratuita (30 giorni) di questa utility, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Articoli correlati:

Invia e-mail agli indirizzi e-mail specificati nelle celle in Excel
Supponendo che tu abbia un elenco di indirizzi e-mail e desideri inviare messaggi e-mail a questi indirizzi in blocco direttamente in Excel. Come ottenerlo? Questo articolo ti mostrerà i metodi per inviare e-mail a più indirizzi e-mail specificati nelle celle in Excel.

Inserisci la firma di Outlook durante l'invio di e-mail in Excel
Supponendo che tu voglia inviare un'e-mail direttamente in Excel, come puoi aggiungere la firma predefinita di Outlook nell'e-mail? Questo articolo fornisce due metodi per aiutarti ad aggiungere la firma di Outlook quando invii messaggi di posta elettronica in Excel.

Invia e-mail con più allegati allegati in Excel
Questo articolo parla dell'invio di un'e-mail tramite Outlook con più allegati allegati in Excel.

Invia e-mail se la data di scadenza è stata rispettata in Excel
Ad esempio, se la data di scadenza nella colonna C è inferiore o uguale a 7 giorni (la data corrente è 2017/9/13), inviare un promemoria e-mail al destinatario specificato nella colonna A con il contenuto specificato nella colonna B. Procedura raggiungerlo? Questo articolo fornirà un metodo VBA per affrontarlo in dettaglio.

Invia automaticamente e-mail in base al valore della cella in Excel
Supponendo di voler inviare un'e-mail tramite Outlook a un determinato destinatario in base a un valore di cella specificato in Excel. Ad esempio, quando il valore della cella D7 in un foglio di lavoro è maggiore di 200, viene creata automaticamente un'e-mail. Questo articolo introduce un metodo VBA per risolvere rapidamente questo problema.

Altri tutorial per l'invio di posta in Excel ...


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
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.