¿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
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- 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 vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!