Cómo Crear una Macro en PowerPoint para Graficar Datos de Excel (Paso a Paso)

¿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

    Entradas más populares de este blog

    Ejemplo Macro en Word

    Macro de Excel para abrir archivo csv

    API de banxico para obtener tipo de cambio utilizando Javascript