¿Sabías que puedes crear gráficos en PowerPoint automáticamente a partir de datos en Excel? En este tutorial te enseño cómo hacerlo con una macro, paso a paso, para que ahorres tiempo y simplifiques tus presentaciones.
¿Qué tipo de gráfico quieres crear?
Línea: Ideal para mostrar tendencias a lo largo del tiempo.
Barras: Perfecto para comparar categorías o valores.
Circular: Útil para representar proporciones o partes de un todo. (Pie)
Dispersión: Para mostrar la relación entre dos conjuntos de datos.
Estos gráficos, los vamos a tomar del objeto Chart de VBA y la siguiente URL Enumeración XlChartType (Excel) tenemos los diferentes tipos que hay disponibles
Activar la pestaña Desarrollador:
Ve a Archivo > Opciones > Personalizar cinta de opciones.
Marca la casilla "Desarrollador" y presiona Aceptar.
Grabar la macro:
- En la pestaña Desarrollador, haz clic en "Grabar macro".
- Asigna un nombre a tu macro y elige una tecla de acceso rápido si deseas.
- Realiza manualmente los pasos para crear el gráfico que deseas (seleccionar datos, elegir tipo de gráfico, formatear, etc.).
- Cuando hayas terminado, haz clic en "Detener grabación".
Sub GraficarPieDesdeExcel()
Dim pptSlide As Slide
Dim pptChart As Chart
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim dataRange As Object
Dim pptChartData As ChartData
' Ruta del archivo de Excel
Dim excelPath As String
excelPath = "D:\blogprogramacion\Datos.xlsx"
' Abrir Excel y el archivo
On Error Resume Next
Set xlApp = CreateObject("Excel.Application")
If xlApp Is Nothing Then
MsgBox "No se puede abrir Excel", vbExclamation
Exit Sub
End If
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Open(excelPath)
Set xlSheet = xlBook.Sheets(1)
' Leer el rango de datos
Set dataRange = xlSheet.Range("A1:B5") ' Cambia el rango según tus datos
' Crear una diapositiva limpia
Set pptSlide = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count + 1, ppLayoutBlank)
Dim shape As shape
For Each shape In pptSlide.Shapes
shape.Delete
Next shape
' Insertar un gráfico de pastel
Set pptChart = pptSlide.Shapes.AddChart(xlPie).Chart
Set pptChartData = pptChart.ChartData
' Copiar datos al gráfico
pptChartData.Workbook.Worksheets(1).Range("A1").Resize(dataRange.Rows.Count, dataRange.Columns.Count).Value = dataRange.Value
' Personalizar el gráfico
With pptChart
.HasTitle = False
.SeriesCollection(1).HasDataLabels = True ' Activar etiquetas de datos
With .SeriesCollection(1).DataLabels
.ShowPercentage = True
.ShowCategoryName = True
.ShowValue = False
End With
End With
' Cerrar el archivo de Excel
xlBook.Close False
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet = Nothing
MsgBox "¡Gráfico de pastel creado exitosamente en PowerPoint!", vbInformation
End Sub
Para ejecutarla la Macro
Regresa a PowerPoint.Ve a Vista > Macros.Selecciona GraficarPieDesdeExcel y haz clic en Ejecutar.
¿Te fue útil este tutorial? Comparte tus experiencias en los comentarios. Si tienes preguntas, deja tus comentarios. ¡No olvides compartir este artículo con tus colegas!
Comentarios
Publicar un comentario