Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo enviar un correo electrónico con copiar y pegar un rango especificado en el cuerpo del correo electrónico en Excel?

En muchos casos, un rango específico de contenido en la hoja de trabajo 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 el rango especificado pegando en el cuerpo del correo electrónico directamente en Excel.

Enviar correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico en Excel


Enviar correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico en Excel


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

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

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, por favor haga clic Herramientas > Referencias como se muestra a continuación.

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

4. Hacer clic recuadro > Módulo, luego copie y pegue el siguiente código de 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()
    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). Por favor, 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). Por favor especifique su destinatario de correo electrónico y asunto .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 OK botón. Ver captura de pantalla:

6. Ahora se crea un correo electrónico con el destinatario, el sujeto, el cuerpo y el rango de Excel seleccionados, haga clic en Enviar botón para enviar este correo electrónico. Ver la captura de pantalla mostrada.

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


Artículos relacionados:



Herramientas de productividad recomendadas para Excel

Kutools para Excel lo ayuda a terminar el trabajo antes de tiempo y sobresalir de la multitud

  • Más que las potentes funciones avanzadas de 300, diseñadas para los escenarios de trabajo 1500, aumentando la productividad en un 70%, le dan más tiempo para cuidar de la familia y disfrutar de la vida.
  • Ya no es necesario memorizar fórmulas y códigos de VBA, dale un descanso a tu cerebro de ahora en adelante.
  • Conviértase en un experto en Excel en minutos 3. Las operaciones complicadas y repetidas se pueden realizar en segundos.
  • Reduzca miles de operaciones de teclado y mouse todos los días, despídase ahora de las enfermedades profesionales.
  • 110,000 personas altamente efectivas y 300 + elección de compañías de renombre mundial.
  • 60-day completo de prueba gratuita de características. Garantías de devolución del dinero de 60-day. 2 años de actualización y soporte gratis.

Trae la navegación y edición con pestañas a Microsoft Office, mucho más poderosa que las pestañas del navegador

  • La pestaña Office está diseñada para Word, Excel, PowerPoint y otras aplicaciones de Office: 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 tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    sachin kumr · 2 months 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 · 3 months ago
    Code to send automatically after selecting after ok
  • To post as a guest, your comment is unpublished.
    Dhiraj Mahajan · 5 months 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 · 5 months 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.
        Dhiraj Mahajan · 2 months ago
        Hi, Is there any update on below.......
        • To post as a guest, your comment is unpublished.
          Dhiraj Mahajan · 2 months 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.
    Anirudh · 9 months 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.
    Michael Ferguson · 10 months 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 · 10 months 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.