
Para usar rangos de Excel como cuerpo de un correo electrónico en formato HTML, puedes proceder de la siguiente manera utilizando VBA (Visual Basic for Applications) en Excel:
Sub EnviarCorreoConRangoComoHTML()
Dim outlookApp As Object
Dim correo As Object
Dim hoja As Worksheet
Dim rango As Range
Dim cuerpoHTML As String
Dim celda As Range
' Define la hoja y el rango que deseas enviar
Set hoja = ThisWorkbook.Sheets("Hoja1") ' Cambia el nombre de la hoja
Set rango = hoja.Range("A1:C10") ' Cambia el rango según necesidades
' Convierte el rango a HTML
cuerpoHTML = "<table border='1'>" ' Inicia la tabla HTML
For Each celda In rango.Rows
cuerpoHTML = cuerpoHTML & "<tr>"
For Each celda In celda.Cells
cuerpoHTML = cuerpoHTML & "<td>" & celda.Value & "</td>"
Next celda
cuerpoHTML = cuerpoHTML & "</tr>"
Next celda
cuerpoHTML = cuerpoHTML & "</table>" ' Finaliza la tabla HTML
' Crea un nuevo correo de Outlook
Set outlookApp = CreateObject("Outlook.Application")
Set correo = outlookApp.CreateItem(0) ' 0 es un MailItem
With correo
.To = "destinatario@ejemplo.com"
.Subject = "Correo con Rango de Excel"
.HTMLBody = cuerpoHTML
.Display ' Cambia a .Send si deseas enviarlo directamente
End With
' Limpia objetos
Set correo = Nothing
Set outlookApp = Nothing
End Sub
- Habilita la pestaña Developer: Si aún no lo has hecho, habilita la pestaña Developer en Excel. Ve a Archivo > Opciones > Personalizar cinta de opciones y marca Developer.
- Abre el Editor de VBA: Ve a la pestaña Developer y haz clic en «Visual Basic» para abrir el Editor de VBA.
- Inserta un módulo nuevo: En el Editor de VBA, haz clic en Insertar > Módulo para crear un nuevo módulo.
- Escribe el código VBA: Usa el siguiente código como ejemplo. Ajusta el rango de Excel que deseas convertir a HTML y envía por correo.
- Ejecuta el macro: Cierra el editor de VBA y regresa a Excel. Luego, desde la pestaña Developer, haz clic en «Macros», selecciona `EnviarCorreoConRangoComoHTML` y haz clic en Ejecutar.
Este script convierte un rango de Excel en una tabla HTML que puedes usar como cuerpo del correo electrónico. Asegúrate de ajustar los rangos y las direcciones de correo electrónico según tus necesidades. Además, ten en cuenta que para que este código funcione, debes tener Microsoft Outlook instalado y configurado en tu sistema.
Conoce nuestros servicios



