¿Cómo enviar un gráfico específico en un correo electrónico con VBA en Excel?
Es posible que sepa cómo enviar un correo electrónico a través de Outlook en Excel con código VBA. Sin embargo, ¿sabe cómo adjuntar un gráfico específico en una hoja de cálculo determinada al cuerpo del correo electrónico? Este artículo le mostrará el método para resolver este problema.
Enviar un gráfico específico en un correo electrónico en Excel con código VBA
Enviar un gráfico específico en un correo electrónico en Excel con código VBA
Por favor, siga los siguientes pasos para enviar un gráfico específico en un correo electrónico con código VBA en Excel.
1. En la hoja de cálculo que contiene el gráfico que desea adjuntar en el cuerpo del correo electrónico, presione las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. Luego copie el siguiente código VBA en la ventana de Código.
Código VBA: Enviar un gráfico específico en un correo electrónico en Excel
Sub mailHTMLsend()
'Updated by Extendoffice 2018/3/5
Dim xOutApp As Object
Dim xOutMail As Object
Dim xStartMsg As String
Dim xEndMsg As String
Dim xChartName As String
Dim xChartPath As String
Dim xPath As String
Dim xChart As ChartObject
On Error Resume Next
xChartName = Application.InputBox("Please enter the chart name:", "KuTools for Excel", , , , , , 2)
If xChartName = "" Then Exit Sub
Set xChart = Sheets("Sheet1").ChartObjects(xChartName) 'Change "Sheet1" to your worksheet name
If xChart Is Nothing Then Exit Sub
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xStartMsg = "<font size='5' color='black'> Good Day," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
xEndMsg = "<font size='4' color='black'> Many Thanks," & "<br> <br> </font>"
xChartPath = Application.ActiveWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
xPath = "<p align='Left'><img src="/%20&%20"cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """ width=700 height=500 > <br> <br>"
xChart.Chart.Export xChartPath
With xOutMail
.To = "xrr@163.com"
.Subject = "Add Chart in outlook mail body"
.Attachments.Add xChartPath
.HTMLBody = xStartMsg & xPath & xEndMsg
.Display
End With
Kill xChartPath
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Nota: En el código, cambie la dirección de correo electrónico del destinatario y el asunto del correo en la línea .To = "xrr@163.com" y la línea .Subject = "Agregar gráfico en el cuerpo del correo de Outlook", Sheet1 es la hoja que contiene el gráfico que desea enviar, cámbielo por el suyo propio.
3. Presione la tecla F5 para ejecutar el código. En el cuadro de diálogo Kutools para Excel que se abre, ingrese el nombre del gráfico que adjuntará en el cuerpo del correo electrónico y luego haga clic en el botón Aceptar. Ver captura de pantalla:
Luego, se crea automáticamente un correo electrónico con el gráfico especificado mostrándose en el cuerpo del correo como se muestra en la siguiente captura de pantalla. Haga clic en el botón Enviar para enviar este correo electrónico.

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Artículos relacionados:
- ¿Cómo enviar automáticamente un correo electrónico basado en el valor de una celda en Excel?
- ¿Cómo insertar una firma en un correo electrónico de Outlook al enviarlo mediante VBA en Excel?
- ¿Cómo enviar un correo electrónico a una hora específica del día en Excel?
- ¿Cómo enviar un correo electrónico con el cuerpo del mensaje en formato HTML en Excel?
- ¿Cómo enviar un correo electrónico con texto en negrita/tamaño/color/subrayado específicos en Excel?
- ¿Cómo enviar un correo electrónico sin Outlook en Excel?
Las mejores herramientas de productividad para Office
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.





- 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