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 correos electrónicos a múltiples destinatarios en una lista de Excel a través de Outlook?

Si tiene varias direcciones de correo electrónico en una columna de hoja de cálculo, y ahora desea enviar un correo electrónico a esta lista de destinatarios de Excel directamente sin abrir Outlook. En este artículo, hablaré sobre cómo enviar correos electrónicos a múltiples destinatarios de Excel al mismo tiempo.

Enviar correo electrónico a múltiples destinatarios de Excel con código VBA

Enviar correo electrónico a varios destinatarios con el libro de trabajo actual como archivo adjunto mediante el código VBA


Envía correos electrónicos personalizados a múltiples destinatarios con diferentes archivos adjuntos:

Con Kutools for Excel's Enviar correos electrónicos Como característica, puede enviar rápidamente correos electrónicos personalizados a múltiples destinatarios con diferentes archivos adjuntos de Excel a través de Outlook según sus necesidades. Al mismo tiempo, también puede enviar mensajes de CC o BCC a una persona específica.

doc enviar emails personalizados 18 1


flecha azul burbuja derecha Enviar correo electrónico a múltiples destinatarios de Excel con código VBA


Puede usar un código VBA para enviar mensajes a múltiples destinatarios a la vez, por favor haga lo siguiente:

1. Mantenga pulsado el botón ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Haz click recuadro > Móduloy pegue el siguiente código en Ventana de módulo.

Código de VBA: envíe un correo electrónico a múltiples destinatarios

Sub sendmultiple()
'updateby Extendoffice 20160506
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Display
    End With
End Sub

3. Y luego presione F5 para ejecutar este código, aparecerá un cuadro emergente para recordarle que selecciona la lista de direcciones, vea la captura de pantalla:

doc enviar destinatarios múltiples 1

4. Luego haga clic OKy una perspectiva Mensaje: se muestra la ventana, puede ver que todas las direcciones de correo electrónico seleccionadas se han agregado al A campo, y luego puede ingresar el asunto y redactar su mensaje, ver captura de pantalla:

doc enviar destinatarios múltiples 2

5. Después de terminar el mensaje, haga clic Enviar y este mensaje se enviará a estos destinatarios en su lista de la hoja de trabajo.


flecha azul burbuja derecha Enviar correo electrónico a varios destinatarios con el libro de trabajo actual como archivo adjunto mediante el código VBA

Si necesita enviar un mensaje a varios destinatarios con el libro actual como archivo adjunto, puede aplicar el siguiente código VBA.

1. Mantenga presionado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en Ventana de módulo.

Código de VBA: envíe un correo electrónico a varios destinatarios con el libro de trabajo actual como archivo adjunto

Sub EmailAttachmentRecipients()
'updateby Extendoffice 20160506
    Dim xOutlook As Object
    Dim xMailItem As Object
    Dim xRg As Range
    Dim xCell As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOutlook = CreateObject("Outlook.Application")
    Set xMailItem = xOutlook.CreateItem(0)
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    With xMailItem
        .To = xEmailAddr
        .CC = ""
        .Subject = ""
        .Body = ""
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
    Set xOutlook = Nothing
    Set xMailItem = Nothing
End Sub

3. Después de pegar el código, presione F5 tecla para ejecutar este código, y se abre un cuadro de aviso para recordarle que seleccione las direcciones a las que desea enviar el mensaje, vea la captura de pantalla:

doc enviar destinatarios múltiples 3

4. A continuación, haga clic en OK botón y Outlook Mensaje: se muestra la ventana, todas las direcciones de correo electrónico se agregaron al A campo, y su libro actual también se ha insertado como archivo adjunto, y luego puede ingresar el asunto y redactar su mensaje, ver captura de pantalla:

doc enviar destinatarios múltiples 4

5. Luego haga clic Enviar para enviar este mensaje a la lista de destinatarios con el libro actual como archivo adjunto.


Artículo relacionado:

¿Cómo enviar correos electrónicos masivos personalizados a una lista de Excel a través de Outlook?


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células 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 Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Funciona con Office 2007-2019 y 365. Soporta todos los idiomas. Fácil despliegue en compañía. Funciones completas de prueba gratuita de 60-day.
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

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • 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!
fondo officetab
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.
    Jose · 5 months ago
    I have this Code, my problem is that it creates one email for each time the condition is not complete, but i want to put all the info that dont reach the condition in only one email

    Sub EnviarCorreo()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim lLastRow As Long
    Dim lRow As Long
    Dim sSendTo As String
    Dim sSendCC As String
    Dim sSendBCC As String
    Dim sSubject As String
    Dim sTemp As String

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon

    ' Change the following as needed
    sSendTo = ""
    sSendCC = ""
    sSendBCC = ""
    sSubject = "Due date reached"

    Set OutMail = OutApp.CreateItem(0)

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    For lRow = 3 To lLastRow
    If Cells(lRow, 9) <> "S" Then
    If Cells(lRow, 2) <= Date Then

    On Error Resume Next
    With OutMail
    .To = sSendTo
    If sSendCC > "" Then .CC = sSendCC
    If sSendBCC > "" Then .BCC = sSendBCC
    .Subject = sSubject

    sTemp = "Hello!" & vbCrLf & vbCrLf
    sTemp = sTemp & "The due date has been reached "
    sTemp = sTemp & "for this project:" & vbCrLf & vbCrLf


    'THIS IS WHAT I WANT TO REPEAT ON EMAIL BODY
    ' Assumes project name is in column B
    sTemp = sTemp & "ID:"
    sTemp = sTemp & " " & Cells(lRow, 1)
    sTemp = sTemp & " Description: "
    sTemp = sTemp & " " & Cells(lRow, 5)
    sTemp = sTemp & " Please take the appropriate"
    sTemp = sTemp & " action." & vbCrLf & vbCrLf
    sTemp = sTemp & " Thank you!" & vbCrLf
    'UNTIL HERE



    .Body = sTemp
    ' Change the following to .Send if you want to
    ' send the message without reviewing first
    .Display
    End With
    Set OutMail = Nothing

    Cells(lRow, 9) = "S"
    Cells(lRow, 10) = "E-mail sent on: " & Now()
    End If
    End If
    Next lRow
    Set OutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    steve · 7 months ago
    Morning,


    I am new to trying to write and use macros in excel. My first attempt was to try and create a subset mass email from a large master list. I cut and pasted the first routine, then tried to use it all it did was highlight the cells I requested. no outlook email was created, what did I do wrong? To expand upon my actual request, I really want to target emails by zip code or other subsets. how do I create a macro that will search a column for a given zip code and create an email with all recipients found?

    thank you

    Steve
  • To post as a guest, your comment is unpublished.
    Vinicius · 10 months ago
    Hi ! Every month i should send the same e-mail for diferent providers, but they should not be in the same e-mail..... how could i send the same e-mail for diferent destinations without everyone in the same e-mail ?
  • To post as a guest, your comment is unpublished.
    James V · 11 months ago
    Any way to use this to send from a shared email? I cannot seem to inset a .SendOnBehalfOf field.
  • To post as a guest, your comment is unpublished.
    Robert Springer · 1 years ago
    How can I do this using the BCC line?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, Robert,
      After running the code, the new message window will be opened, you just need to insert the BCC line under the Option tab, see the following screenshot:


      Hope it can help you, thank you!
  • To post as a guest, your comment is unpublished.
    Shashank · 2 years ago
    Hello,

    Thank you for the code.
    Is there a way i can create a command button on the excel and then by clicking on that button the same excel sheet can be sent to multiple recipients as an attachment.
  • To post as a guest, your comment is unpublished.
    Jake · 2 years ago
    Hi,

    The VBA code is working well for me thank you. Is there any way I could create a cell with a button of sorts which triggers the "select mailing list" pop up?

    Jake
  • To post as a guest, your comment is unpublished.
    Matthew · 3 years ago
    This is awesome, exactly what I want.
    Is there anyway to add a feature where you can add a message to the subject line using code....
    I dont want anything in message box