Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo enviar cada hoja a diferentes direcciones de correo electrónico desde Excel?

Author Xiaoyang Last modified

Si tiene un libro de Excel con múltiples hojas de cálculo, cada una conteniendo una dirección de correo electrónico en la celda S1, es posible que desee enviar cada hoja como un archivo adjunto separado a su respectivo destinatario. Esta tarea puede ser tediosa si se realiza manualmente, especialmente cuando se trata de un gran número de hojas. En este tutorial, le mostraremos cómo usar código VBA para enviar automáticamente cada hoja de cálculo de su archivo de Excel como un archivo adjunto a la dirección de correo electrónico especificada en la celda S1 de cada hoja.


Enviar cada hoja a diferentes direcciones de correo electrónico desde Excel con código VBA

El siguiente código VBA le permitirá enviar cada hoja de cálculo como un archivo adjunto al destinatario correspondiente listado en la celda S1. Por favor, siga estos pasos:

1. Presione simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Luego, haga clic en Insertar > Módulo, y copie y pegue el siguiente código VBA en la ventana.

Código VBA: Enviar cada hoja como archivo adjunto a diferentes direcciones de correo electrónico

Sub Mail_Every_Worksheet()
'Updateby ExtendOffice
  Dim xWs As Worksheet
  Dim xWb As Workbook
  Dim xFileExt As String
  Dim xFileFormatNum As Long
  Dim xTempFilePath As String
  Dim xFileName As String
  Dim xOlApp As Object
  Dim xMailObj As Object
  On Error Resume Next
  With Application
      .ScreenUpdating = False
      .EnableEvents = False
  End With
  xTempFilePath = Environ$("temp") & "\"
  If Val(Application.Version) < 12 Then
    xFileExt = ".xls": xFileFormatNum = -4143
  Else
    xFileExt = ".xlsm": xFileFormatNum = 52
  End If
  Set xOlApp = CreateObject("Outlook.Application")
  For Each xWs In ThisWorkbook.Worksheets
    If xWs.Range("S1").Value Like "?*@?*.?*" Then
      xWs.Copy
      Set xWb = ActiveWorkbook
      xFileName = xWs.Name & " of " _
                   & VBA.Left(ThisWorkbook.Name, VBA.InStr(ThisWorkbook.Name, ".") - 1) & " "
      Set xMailObj = xOlApp.CreateItem(0)
      xWb.Sheets.Item(1).Range("S1").Value = ""
      With xWb
        .SaveAs xTempFilePath & xFileName & xFileExt, FileFormat:=xFileFormatNum
        With xMailObj
        'specify the CC, BCC, Subject, Body below
            .To = xWs.Range("S1").Value
            .CC = ""
            .BCC = ""
            .Subject = "This is the Subject line"
            .Body = "Hi there"
            .Attachments.Add xWb.FullName
            .Display
        End With
        .Close SaveChanges:=False
      End With
      Set xMailObj = Nothing
      Kill xTempFilePath & xFileName & xFileExt
    End If
  Next
  Set xOlApp = Nothing
  With Application
      .ScreenUpdating = True
      .EnableEvents = True
  End With
End Sub
Nota: En el código anterior:
  • S1 es la celda que contiene la dirección de correo electrónico a la que desea enviar el correo. Si sus direcciones de correo están en una celda diferente, como A1, puede modificar el código para reflejar ese cambio.
  • Puede especificar el CC, CCO, Asunto y Cuerpo según sus necesidades en el código;
  • Para enviar el correo directamente sin abrir la siguiente ventana de nuevo mensaje, necesita cambiar .Display a .Send.

A screenshot of the VBA code window for sending each sheet from Excel to a different email address in cell S1

3. Luego, presione la tecla F5 para ejecutar este código, y cada hoja se insertará automáticamente en la ventana de nuevo mensaje como un archivo adjunto, vea la captura de pantalla:

A screenshot of new email messages in Outlook, each with an attached Excel sheet sent to different recipients

4. Finalmente, haga clic en el botón Enviar para enviar cada correo uno por uno.


Kutools para Excel: ¡Envía correos electrónicos personalizados fácilmente en un solo clic!

Send Personalized Emails feature

¿Cansado de enviar correos electrónicos a los clientes uno por uno? Con la función “Enviar correo electrónico” de Kutools para Excel, la comunicación se vuelve más rápida y profesional. Simplemente prepara una hoja de cálculo de Excel con nombres, direcciones de correo electrónico, códigos de registro e inserta marcadores de posición; el sistema generará automáticamente correos electrónicos personalizados y enviará cientos con solo un clic. ¡Adiós al trabajo repetitivo!

  • 💡 Los marcadores de posición dinámicos (por ejemplo, nombre, código de registro) rellenan automáticamente el contenido personalizado para cada destinatario, asegurando que cada correo electrónico se sienta único.
  • 📎 Adjunta archivos personalizados para una entrega precisa
  • 📤 Se integra perfectamente con Outlook para envíos seguros y confiables
  • 📝 Guarda y reutiliza plantillas de correo electrónico para maximizar la eficiencia
  • 🎨 Editor de tipo «lo que ves es lo que obtienes» que es fácil de usar
  • 🖋 Usa tu firma de Outlook: sin configuración adicional, ¡solo presiona enviar!
  • ¡Consigue Kutools para Excel ahora!

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos