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

or

¿Cómo enviar un correo electrónico copiando y pegando un rango específico en el cuerpo del correo electrónico en Excel?

En muchos casos, un rango específico de contenido en la hoja de cálculo de Excel puede ser útil en su comunicación por correo electrónico. En este artículo, presentaremos un método para enviar un correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico directamente en Excel.

Envíe un correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico en Excel
Envíe correos electrónicos con un rango específico pegado en el cuerpo del correo electrónico con una herramienta increíble

Más tutoriales para enviar por correo en Excel ...


Envíe un correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico en Excel

El siguiente código VBA puede ayudarlo a copiar un rango y pegarlo en el cuerpo de un correo electrónico de Outlook directamente en Excel. Haz lo siguiente.

1. En la hoja de trabajo que contiene el rango que necesita copiar, presione el otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic en Las herramientas > Referencias como se muestra a continuación.

3. En el Referencias - VBAProject cuadro de diálogo, busque y marque el Biblioteca de objetos de Microsoft Outlook opción, y luego haga clic en la OK

4. Hacer clic recuadro > Módulo, luego copie y pegue el siguiente código VBA en la ventana del Módulo.

Código de VBA: envíe un correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico en 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

Notas:

  • 1). Cambie el cuerpo del correo electrónico en línea xEmailBody = "Hola" & vbLf & vbLf & "cuerpo del mensaje que desea agregar" & vbLf & vbLf & xEmailBody & vbNewLine como necesites.
  • 2). Especifique el destinatario y el asunto de su correo electrónico (.To = happy.xuebi@163.com y .Subject = "prueba") líneas en el código.

5. presione el F5 clave para ejecutar el código. En el apareciendo Kutools for Excel cuadro de diálogo, seleccione el rango que necesita pegar en el cuerpo del correo electrónico y luego haga clic en el OK botón. Ver captura de pantalla:

6. Ahora se crea un correo electrónico con el destinatario, el asunto, el cuerpo y el rango de Excel seleccionados, haga clic en el Enviar para enviar este correo electrónico. Vea la captura de pantalla que se muestra.

Nota:: El código VBA solo funciona cuando usa Outlook como su programa de correo electrónico.


Envíe correos electrónicos con un rango específico pegado en el cuerpo del correo electrónico con una herramienta increíble

Si no usa Outlook y aún desea enviar correos electrónicos directamente en Excel con un rango específico de datos pegados en su interior, le recomiendo encarecidamente el Enviar correos electrónicos utilidad de Kutools for Excel para ti. Con esta función, solo necesita configurar el servidor saliente de una dirección de correo electrónico y luego enviar correos electrónicos en Excel directamente a través de esta dirección de correo electrónico en el futuro.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

1. En primer lugar, debe preparar una lista de correo con los campos necesarios.

  • Consejos: La lista de correo debe contener al menos 2 filas, y la primera fila deben ser los encabezados (suponiendo que desee enviar correos electrónicos a dos direcciones de correo electrónico en Excel, escriba estas dos direcciones de correo electrónico con el encabezado "Correo electrónico" como se muestra en la captura de pantalla siguiente ).
  • Alternativamente, puede crear fácilmente una lista de correo con el Crear lista de distribución .

2. Seleccione el rango en el que agregará los datos al cuerpo del correo electrónico y presione el botón Ctrl + C teclas para copiarlo.

3. Seleccione toda la lista de correo (incluya encabezados), haga clic en Kutools Plus > Enviar correos electrónicos. Ver captura de pantalla:

4. Entonces el Enviar correos electrónicos aparece el cuadro de diálogo.

  • 4.1) Los elementos de la lista de correo seleccionada se completan en los campos correspondientes (puede agregar más campos a la lista de correo según lo necesite);
  • 4.2) Haga clic en el cuadro del cuerpo del correo electrónico, presione el Ctrl + V teclas para pegar los datos del rango seleccionado en él. Después de eso, agregue otro contenido que necesite;
  • 4.3 Desmarque la Envíe correos electrónicos a través de Outlook caja;
  • 2.4) Haga clic en Configuración del servidor saliente botón. Ver captura de pantalla:

5. Entonces el Configuración del servidor saliente (SMTP): nuevo esquema aparece el cuadro de diálogo. Complete la dirección de correo electrónico con la configuración del servidor, especifique una carpeta para guardar todos los correos enviados después de marcar Guardar los correos electrónicos enviados a cuadro, y luego haga clic en el OK para guardar la configuración

6. Cuando vuelva a la Enviar correos electrónicos cuadro de diálogo, haga clic en Enviar botón para enviar el correo electrónico.

A partir de ahora, puede enviar correos electrónicos con esta función en Excel directamente.

  Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Artículos relacionados:

Enviar correo electrónico a direcciones de correo electrónico especificadas en las celdas de Excel
Supongamos que tiene una lista de direcciones de correo electrónico y desea enviar un mensaje de correo electrónico a estas direcciones de correo electrónico de forma masiva directamente en Excel. ¿Cómo lograrlo? Este artículo le mostrará los métodos para enviar correos electrónicos a varias direcciones de correo electrónico que se especifican en las celdas de Excel.

Inserte la firma de Outlook al enviar un correo electrónico en Excel
Suponiendo que desea enviar un correo electrónico directamente en Excel, ¿cómo puede agregar la firma predeterminada de Outlook en este correo electrónico? Este artículo proporciona dos métodos para ayudarlo a agregar la firma de Outlook al enviar correo electrónico en Excel.

Envíe un correo electrónico con varios archivos adjuntos adjuntos en Excel
Este artículo habla sobre el envío de un correo electrónico a través de Outlook con varios archivos adjuntos adjuntos en Excel.

Envíe un correo electrónico si se ha cumplido la fecha de vencimiento en Excel
Por ejemplo, si la fecha de vencimiento en la columna C es menor o igual a 7 días (la fecha actual es 2017/9/13), envíe un recordatorio por correo electrónico al destinatario especificado en la columna A con el contenido especificado en la columna B. Cómo ¿alcanzarlo? Este artículo proporcionará un método VBA para tratarlo en detalle.

Envíe correos electrónicos automáticamente según el valor de la celda en Excel
Supongamos que desea enviar un correo electrónico a través de Outlook a un destinatario determinado en función de un valor de celda específico en Excel. Por ejemplo, cuando el valor de la celda D7 en una hoja de trabajo es mayor que 200, se crea automáticamente un correo electrónico. Este artículo presenta un método VBA para que pueda resolver rápidamente este problema.

Más tutoriales para enviar por correo en Excel ...


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office / Excel 2007-2019 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Características completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
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 · 8 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 · 2 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.