¿Cómo enviar un correo electrónico a varios destinatarios de una lista desde Excel mediante Outlook?
En muchos entornos laborales, es posible que necesite enviar mensajes a una lista de direcciones de correo electrónico almacenada en una columna de una hoja de Excel, por ejemplo, para distribuir boletines informativos, facturas o notificar a los participantes de un evento. En lugar de introducir manualmente cada dirección o abrir Outlook para redactar el mensaje, Excel puede agilizar este proceso enviando correos directamente a todos los destinatarios. Esta guía ofrece soluciones detalladas para enviar correos electrónicos a múltiples destinatarios desde Excel de forma simultánea, integrándose con Outlook para ahorrar tiempo y reducir errores.
Enviar un correo electrónico a varios destinatarios desde Excel con código VBA
Enviar un correo electrónico a varios destinatarios desde Excel con código VBA
Si desea enviar el mismo mensaje a un grupo de personas simultáneamente y dispone de su lista de direcciones en una columna de la hoja de cálculo, puede utilizar código VBA para automatizar esta tarea. Este método resulta especialmente útil para notificaciones masivas o actualizaciones grupales, evitando tener que añadir manualmente cada destinatario en Outlook. Siga estos pasos:
1. Pulse ALT + F11 simultáneamente para abrir la ventana de Microsoft Visual Basic para Aplicaciones. Si aún no ha activado la pestaña Programador, encontrará instrucciones en la configuración de Excel.
2. En la ventana de VBA, haga clic en Insertar > Módulo. Esto abrirá una ventana en blanco de módulo donde podrá introducir su código. Pegue el siguiente código:
Código VBA: Enviar correo electrónico a varios destinatarios
Sub sendmultiple()
'updateby Extendoffice
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. Pulse F5(o haga clic en Ejecutar) para ejecutar el código. Aparecerá un cuadro de diálogo que le pedirá que seleccione la lista de direcciones de su hoja de cálculo. Este paso le permite seleccionar fácilmente todas las celdas que contienen las direcciones de correo electrónico necesarias, asegurando que el código incluya únicamente destinatarios con formato de correo electrónico válido ()*@*). Vea la captura de pantalla:

4. Tras seleccionar las direcciones, haga clic en Aceptar. Outlook abrirá una nueva ventana de Mensaje con las direcciones seleccionadas ya rellenadas automáticamente en el campo Para. Ahora podrá especificar el asunto y redactar su mensaje según sus necesidades. La ventana le permite realizar más ediciones si fuera necesario, para personalizar o aclarar el contenido. Vea la captura de pantalla:

5. Una vez completado el mensaje, haga clic en el botón Enviar para enviar el correo electrónico simultáneamente a todos los destinatarios de la lista. Este enfoque garantiza que no se omita ninguna dirección y agiliza la comunicación grupal.
Consejo: Asegúrese de tener Outlook instalado y configurado como cliente de correo predeterminado para que este método funcione correctamente. Si experimenta problemas, como la ausencia del cuadro de diálogo, verifique la configuración de seguridad de macros en Excel.
Escenarios aplicables: Utilice este método para anuncios de equipo, notificaciones de eventos o el envío de información idéntica a múltiples destinatarios. Su principal ventaja es la rapidez y precisión con una mínima intervención manual, aunque su limitación radica en la imposibilidad de personalizar el mensaje para cada destinatario individual.
Resolución de problemas: Si no se abre la ventana de mensaje de Outlook, asegúrese de que Outlook se esté ejecutando correctamente y de que esté configurado como su gestor de correo predeterminado. Además, verifique que todas las celdas seleccionadas contengan direcciones de correo electrónico válidas; aunque el código incluye control de errores, es recomendable evitar celdas vacías o con formato incorrecto para obtener los mejores resultados.
Envíe correos electrónicos personalizados a varios destinatarios con distintos archivos adjuntos: Para requisitos más avanzados, como enviar archivos adjuntos personalizados, contenido individualizado o incluir automáticamente destinatarios en CC/Cco, la función Kutools para Excel Enviar correos electrónicos le permite enviar rápidamente mensajes personalizados desde Excel a través de Outlook. Con esta función, podrá adaptar cada mensaje al destinatario, añadir archivos adjuntos independientes e incluir destinatarios en CC/Cco según sus necesidades, logrando así un envío masivo mucho más flexible.¡Haga clic para descargar Kutools para Excel!
|
Enviar un correo electrónico a varios destinatarios con el Libro de trabajo actual como archivo adjunto mediante código VBA
Si necesita enviar su libro de Excel actual como archivo adjunto a un grupo de destinatarios, la siguiente solución en VBA puede ayudarle a automatizar este proceso. Este método es ideal para compartir informes, resúmenes financieros o documentos colaborativos con múltiples partes interesadas.
1. Abra Excel y pulse ALT + F11 para iniciar el entorno de Microsoft Visual Basic para Aplicaciones.
2.En el editor de VBA, vaya a Insertar>Módulo, luego copie y pegue el siguiente código en la ventana del módulo:
Código VBA: Enviar correo electrónico a varios destinatarios con el Libro de trabajo actual como archivo adjunto
Sub EmailAttachmentRecipients()
'updateby Extendoffice
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. Pulse F5 para ejecutar el código. Aparecerá un cuadro de diálogo que le pedirá que seleccione las celdas con las direcciones de correo electrónico. Este mecanismo le permite incluir fácilmente a todos los destinatarios relevantes de su hoja de cálculo y garantiza que solo se añadan direcciones de correo electrónico con formato correcto. Vea la siguiente captura de pantalla:

4. Tras confirmar la selección, haga clic en Aceptar. Outlook creará automáticamente una nueva ventana de Mensaje, incluyendo al destinatario seleccionado en el campo Para y adjuntando el libro actualmente abierto. A continuación, podrá personalizar el asunto y el cuerpo del mensaje antes de enviarlo. Vea la captura de pantalla:

5. Haga clic en el botón Enviar para enviar su correo electrónico —con el libro adjunto— a todos los destinatarios seleccionados de una sola vez.
Precaución: Si su libro contiene información confidencial, revise detenidamente la lista de destinatarios antes de enviarlo. Si encuentra un error al adjuntar el archivo, asegúrese de que el libro esté guardado, no esté abierto en otro programa y de que Outlook esté correctamente configurado para enviar correos mediante automatización.
Casos de uso: Esta solución se utiliza ampliamente para distribuir informes periódicos, enviar libros colaborativos o compartir archivos de referencia con equipos o clientes. Es ideal para la entrega masiva de documentos, aunque no permite adjuntar archivos distintos según el destinatario.
Problemas habituales: Si no se abre la ventana de diálogo o el correo no se envía, asegúrese de haber concedido permisos para macros y de que su libro esté guardado antes de ejecutar el código. Compruebe también si hay celdas vacías en su selección, ya que el código omite cualquier contenido que no cumpla con los formatos estándar de correo electrónico.
Solución alternativa: Enviar Dirección de correo electrónico separados por punto y coma mediante una fórmula de Excel
Si desea compilar rápidamente una lista de direcciones de correo electrónico en una sola celda —separadas por punto y coma para copiarlas fácilmente en los campos Para, CC o Cco de Outlook—, las fórmulas de Excel ofrecen una solución rápida y sencilla, especialmente si prefiere no usar macros.
1. Supongamos que sus direcciones de correo electrónico están en la columna A, filas 1 a 7. Introduzca la siguiente fórmula en una celda vacía (por ejemplo, B1):
=TEXTJOIN(";",TRUE,A1:A7) 2. Pulse Intro. Obtendrá una cadena de texto única con todas las direcciones de correo electrónico del rango seleccionado, separadas por punto y coma. Podrá copiar entonces esta celda y pegarla directamente en los campos de destinatarios de Outlook.
Parámetros de la fórmula:
- TEXTJOIN: Combina un rango de celdas usando el delimitador que indiques; en este caso, un punto y coma.
- VERDADERO: Excluye cualquier celda vacía del rango. Todas las direcciones de correo electrónico válidas se concatenarán sin espacios intermedios.
- A1:A10: Ajuste este rango para que se adapte a su lista de direcciones de correo electrónico.
Ventajas: Este enfoque no requiere habilitar macros, por lo que es ideal para entornos en los que VBA está restringido. Además, permite copiar rápidamente una lista compilada en cualquier plataforma de correo electrónico, no solo en Outlook.
Limitaciones: A diferencia de VBA, no genera automáticamente un correo electrónico ni automatiza su envío, pero sí mejora la eficiencia al gestionar listas de destinatarios.
Consejo: Si su lista cambia, actualice el rango de la fórmula en consecuencia. Para formatos que no usen el punto y coma como delimitador, sustituya ";" por el carácter que prefiera.
Artículo relacionado:
¿Cómo enviar correos electrónicos masivos personalizados a una lista desde Excel mediante Outlook?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos
