Gráficos Dinámicos En Powerpoint: Gráficos Que Se Actualizan Automáticamente

Técnicamente, en PowerPoint puedes vincular un archivo de Excel a una presentación de PowerPoint. Sin embargo, eso no hará que el gráfico sea dinámico y, a veces, es difícil decir cuándo se actualizará el gráfico. Pero, ¿qué sucede si queremos aún más? ¿Qué sucede si queremos que el gráfico se actualice durante una presentación?

Imagina querer presentar una serie de diapositivas dinámicas en un entorno de Office, cada diapositiva mostrando los gráficos más recientes de un tablero de Excel actualizado. En otros casos, es posible que desees evitar cualquier enlace a archivos de Excel y simplemente tener una referencia dinámica a tu archivo o archivos de origen. Hoy exploraremos cómo crear gráficos dinámicos en PowerPoint usando VBA.

Quizás te puede interesar: Ventajas De PowerPoint Frente A Otras Herramientas De Presentación

Índice De Contenidos

    Una descripción histórica de los gráficos en PowerPoint

    Cuando comenzamos con PresentationPoint y procedimos a crear DataPoint, que se lanzó oficialmente en 2003, PowerPoint 1997, 2000 y 2003 usaban el motor Microsoft Graph para visualizar gráficos en tus diapositivas. Con versión de PowerPoint u Office 2007, se introdujo un nuevo motor de gráficos en PowerPoint. Se parecía exactamente al mejor motor de gráficos de Microsoft Excel.

    ¿Por qué no usar gráficos vinculados?

    Antes de comenzar, queremos explicar que no necesitas usar el enfoque que se explica a continuación para simplemente vincular un gráfico de Excel a una presentación de PowerPoint. El propósito de este ejercicio es evitar la vinculación y hacerlo completamente flexible según tus preferencias cuando desees actualizar tus gráficos e incluso actualizar los archivos de Excel antes de hacerlo.

    Creación de gráficos dinámicos en PowerPoint

    A continuación se muestra un tutorial paso a paso sobre cómo configurar los gráficos dinámicos en PowerPoint y la macro:

    Paso 1: Crea el PowerPoint y las formas

    Primero, debemos crear una forma de PowerPoint que se usará como marcador de posición para marcar la ubicación y el tamaño de nuestro gráfico. Haz clic en la imagen de abajo para una referencia.

    Gráficos dinámicos en PowerPint

    Paso 2: Crea un gráfico de Excel

    A continuación, debemos crear y nombrar un gráfico de Excel. Esto se copiará y pegará como una imagen en nuestro PowerPoint para evitar la vinculación y asegurar que el formato sea idéntico a cómo se visualiza en tu archivo de Excel.

    Gráficos dinámicos en PowerPint

    Paso 3: Crear la macro VBA de gráficos dinámicos en PowerPoint

    Si no sabes cómo acceder a la pestaña Desarrollador, puedes proceder de manera similar a como lo haces en Excel. A continuación, crea un nuevo módulo VBA y copia el siguiente código VBA:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    #If VBA7 Then

    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal milliseconds As LongPtr) 'MS Office 64 Bit

    #Else

    Public Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long) 'MS Office 32 Bit

    #End If

     

    Function CopyChartFromExcelToPPT(excelFilePath As String, sheetName As String, chartName As String, dstSlide As Long, Optional shapeLeft As Long, Optional shapeTop As Long, Optional shapeWidth As Long, Optional shapeHeight As Long) As Shape

    On Error GoTo ErrorHandl 'Handle Errors

     

    'Set Variables and Open Excel

    Dim eApp As Excel.Application, wb As Excel.Workbook, ppt As PowerPoint.Presentation, ws As Excel.Worksheet

    Set eApp = New Excel.Application

    eApp.Visible = False

    Set wb = eApp.Workbooks.Open(excelFilePath)

    Set ppt = ActivePresentation

    'Copy Chart in Excel

    wb.Sheets(sheetName).ChartObjects(chartName).Copy

     

    'Paste into first slide in active PowerPoint presentation

    ppt.Slides(dstSlide).Shapes.PasteSpecial ppPasteBitmap

    Set CopyChartFromExcelToPPT = ppt.Slides(dstSlide).Shapes(ppt.Slides(dstSlide).Shapes.Count)

    'Close and clean-up Excel

    wb.Close SaveChanges:=False

    eApp.Quit

    Set wb = Nothing: Set eApp = Nothing

     

    'Move the new shape if left/top provided

    If Not (IsMissing(shapeTop)) Then

    With CopyChartFromExcelToPPT

    .Left = shapeLeft

    .Top = shapeTop

    End With

    End If

    If Not (IsMissing(shapeWidth)) Then

    With CopyChartFromExcelToPPT

    .LockAspectRatio = False

    .Width = shapeWidth

    .Height = shapeHeight

    End With

    End If

    Exit Function

    ErrorHandl:

    'Make sure to close the workbook and Excel and return False

    On Error Resume Next

    If Not (eApp Is Nothing) Then

    wb.Close SaveChanges:=False

    eApp.Quit

    End If

    Set CopyChartFromExcelToPPT = Nothing

    End Function

    Déjame desglosar esto. Anteriormente, primero definimos la función VBA Sleep, ya que la usaremos como un mecanismo de demora entre actualizaciones. A continuación definimos la función CopyChartFromExcelToPPT que básicamente hace lo siguiente:

    1. Abre un archivo de Excel definido con excelFilePath.
    2. Copia el gráfico chartName de la hoja sheetName.
    3. Lo pega en ActivePresentation en la diapositiva dstSlide y la ubicación shapeTop y shapeLeft, con el tamaño de shapeWidth y shapeHeight

    Como puedes ver, esta es una función genérica que puedes reutilizar para tu propio propósito, independientemente del ejemplo de uso que vayas a utilizar.

    Paso 4: Actualiza automáticamente el gráfico

    Ahora vamos a crear un escenario simple usando la función genérica para copiar un gráfico de Excel a PowerPoint:

    • Paso 1: ejecuta en modo Presentación.
    • Paso 2: cada segundo actualiza el gráfico de Excel y actualiza el sello de tiempo.
    • Paso 3: sal del modo de presentación.

    A continuación, el código VBA hace exactamente eso:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    Sub TestAutoUpdate()

    Dim shp As Shape, shp1 As Shape, shpTxt As Shape

    Dim chartPlaceholder As Shape, timeShape As Shape, slideNumber As Long

    'Get placeholder shapes, hide ChartPlaceholder

    slideNumber = 1

    Set chartPlaceholder = ActivePresentation.Slides(slideNumber).Shapes("ChartPlaceholder"): chartPlaceholder.Visible = msoFalse

    Set timeShape = ActivePresentation.Slides(slideNumber).Shapes("TimeStamp")

     

    'Start the presentation!

    ActivePresentation.SlideShowSettings.Run

     

    'Update the Chart and set time stamp

    Set shp = CopyChartFromExcelToPPT(ActivePresentation.Path & "\Test.xlsx", "Sheet1", "Chart 1", slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height)

    timeShape.TextFrame.TextRange.Text = Format(Now(), "YYYY-MM-DD HH:MM")

    DoEvents

    Sleep 1000

    For i = 0 To 3

    'Update the Chart, delete old shape and set time stamp

    Set shp1 = CopyChartFromExcelToPPT(ActivePresentation.Path & "\Test.xlsx", "Sheet1", "Chart 1", slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height)

    shp.Delete: Set shp = shp1

    timeShape.TextFrame.TextRange.Text = Format(Now(), "YYYY-MM-DD HH:MM")

    'Sleep for 1 second

    DoEvents

    Sleep 1000

    Next i

    'End of presentation!

    ActivePresentation.SlideShowWindow.View.Exit

    'Delete the chart and make the ChartPlaceholder visible again

    shp.Delete

    chartPlaceholder.Visible = msoTrue

    End Sub

    Casos de uso de gráficos dinámicos en PowerPoint

    Para nosotros, una forma de animar gráficos de Excel en PowerPoint presenta una nueva paleta de opciones para ampliar aún más los límites de lo que podemos hacer con PowerPoint. A continuación, una breve lista de ideas que pueden ayudarte a imaginar lo útil que puede ser:

    1. Crea una presentación dinámica de Office con gráficos de actualización automática de varios archivos de Excel.
    2. Crea un botón para actualizar manualmente uno o todos los gráficos en tu plataforma de PowerPoint.
    3. Crea una manera fácil de vincular tus gráficos en PowerPoint a archivos de Excel que podrían moverse (por ejemplo, vincular a archivos de Excel en el mismo directorio).

    Elige entre tablas y gráficos dinámicos en PowerPoint

    Todavía puedes usar el nuevo objeto de gráficos para mostrar gráficos en tiempo real en tus diapositivas. Pero verás una hoja de datos parpadeando cada vez que DataPoint abra el contenido de los datos del gráfico. Para presentaciones en línea, o en otras palabras, cuando ejecutas una presentación de diapositivas de PowerPoint en una computadora dedicada o en una pantalla de televisión para tu audiencia, y quieres evitar ver esa hoja de trabajo, entonces tienes que usar los gráficos 'más antiguos'.

    Tal vez quieras saber: Cómo Usar VBA En PowerPoint: Una Guía Para Principiantes

    Cómo insertar un gráfico en tu diapositiva

    Con la última versión de DataPoint, simplemente haz clic para abrir el menú Insertar de tu PowerPoint. Al final de los botones originales, encontrarás un nuevo grupo de Puntos de datos con un botón Gráfico. Cuando estés en una diapositiva, simplemente haz clic en el botón Gráfico e insertará un nuevo objeto de gráfico predeterminado para ti. Esto se comporta como la nueva opción Insertar > Gráfico.

    Insertar un gráfico en tu diapositiva

    Cuando hayas configurado una conexión de datos a una fuente de datos de tu elección y hayas seleccionado este objeto de gráfico, haz clic en Punto de datos y luego en el botón Gráfico para asignar los datos de la conexión de datos a este cuadro/gráfico.

    Insertar un gráfico en tu diapositiva

    Este objeto de gráfico se puede usar perfectamente en tu presentación de diapositivas para mostrar información en tiempo real como un gráfico de barras o circular. Pero, la mayor ventaja, no verás una hoja de datos con tu información parpadeando en tu pantalla.

    Insertar un gráfico en tu diapositiva

    Cuando editas el gráfico

    Cada vez que hagas clic para editar un objeto de gráfico, PowerPoint te dirá lo siguiennte: 'Para editar tu gráfico usando las funciones más recientes de PowerPoint, deberás convertirlo al formato más nuevo'. Elige Editar existente aquí para seguir usando el objeto de Microsoft Graph.

    Editar el gráfico

    PowerPoint te preguntará esto cada vez. Si encuentras esto molesto y quieres seguir usando gráficos, entonces tal vez deshabilites esta pregunta. Para hacerlo, ve al registro y agrega una nueva clave (DWORD) llamada MSGraphEnable a esta ruta a continuación, y establece el valor en 1.

    \HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Charting

    El valor 16,0 aquí representa la versión de PowerPoint 2016. Usa 15,0 para PowerPoint 2013 y 14,0 para PowerPoint 2010.

    Cómo crear una presentación dinámica

    Si tienes una presentación con algunos gráficos e informes, nunca sabes con qué frecuencia necesitarás actualizarla. Por ejemplo, crea un informe de rendimiento trimestral y recibe datos nuevos cada hora. En este caso, en lugar de tablas y gráficos de PowerPoint, es mejor incrustar un objeto de Excel. La información se actualiza automáticamente después de las actualizaciones en la tabla de Excel.

    Crear una presentación dinámica

    Para crear una diapositiva en la presentación de PowerPoint con datos actualizados automáticamente, haz lo siguiente:

    Paso 1: selecciona un gráfico o una tabla en Excel que desees agregar a la presentación y realiza una de las siguientes acciones:

    1. Haz clic en Ctrl+C.
    2. En la pestaña Inicio, en el grupo Portapapeles, haz clic en el botón Copiar.

    Crear una presentación dinámica

    1. Haz clic derecho en el objeto seleccionado y luego elige Copiar en el menú emergente.

    Paso 2: abre la diapositiva de la presentación, donde deseas insertar el objeto de Excel y luego, en la pestaña Inicio, en el grupo Portapapeles, elige en la lista desplegable, la opción Pegar.

    • 1. Si intentas pegar un gráfico.

    Crear una presentación dinámica

    En la lista Opciones de pegado, elige:

    • Usar tema de destino y datos de enlace.
    • Mantener el formato de origen y los datos de enlace.

    Usar tema de destino adoptará los colores, las fuentes y los efectos del tema de la presentación de destino en la que estás pegando. Se cambiarán los colores de origen, las fuentes y los efectos. Conservar el formato de origen mantendrá los colores del tema, las fuentes y los efectos de la presentación desde la que estás copiando. Todos los colores, fuentes y efectos serán los mismos que en el libro de trabajo de origen.

    Link Data es lo que usarás si deseas que la información en el gráfico o la hoja de cálculo se actualice automáticamente cuando se actualicen los datos de origen. Se crea un enlace al original, y las modificaciones en el origen harán los cambios en el documento de destino.

    ¡Precaución! Debido a que este método crea un vínculo a una hoja de cálculo de Excel específica, si mueves o eliminas el archivo de origen, no podrás actualizar el gráfico.

    Crear presentaciones dinámicas

     2.2.  Si deseas insertar una tabla, haz clic en Pegado especial:

    Crear presentaciones dinámicas

    Nota: cualquier otra opción de pegado no crea un vínculo al archivo de origen, por lo que cualquier cambio en la tabla de Excel no actualiza la tabla en PowerPoint.

    En el cuadro de diálogo Pegado especial, marca la casilla de verificación Pegar enlace y haz clic en Aceptar:

    Crear presentaciones dinámicas

    Ahora, si cambias cualquier cosa en el gráfico o en la tabla, verás los cambios en la presentación de PowerPoint:

    Crear presentaciones dinámicas

    Otras opciones para pegar un gráfico de Excel:

    • Usar tema de destino e incrustar libro de trabajo.
    • Mantener el formato de origen e incrustar el libro de trabajo.

    Embed Workbook creará una copia de los datos y la incrustará en el documento de destino. Los cambios futuros en la fuente no se reflejarán. Puedes cambiar manualmente el gráfico haciendo doble clic en él y realizando cambios en la mini hoja de cálculo que se abre dentro del documento de destino.

    Los cambios que realices en el documento de destino tampoco afectarán a los datos de origen. Incrustar el gráfico y tus datos de origen es útil para compartir documentos entre la computadora del espectador y la tuya propia.

    Sin embargo, puedes crear archivos muy grandes. El objeto del archivo de origen se mostrará como una imagen. Cualquier cambio en la fuente no cambia esta imagen. Luego puedes editar la imagen como cualquier otra, pero no podrás cambiar ni abrir los datos de origen ni cambiar el gráfico.

    Echa un vistazo a: Cómo Usar El Puntero Láser En Powerpoint (Verde, Rojo Y Azul)

    Pensamientos finales

    Listo, ya sabes trabajar con gráficos dinámicos en PowerPoint. Estamos seguros de que la nueva forma de gráficos que se introdujo en PowerPoint y que Microsoft desarrolló para las versiones más recientes de PowerPoint es mucho mejor para todos nosotros, en comparación con el objeto de Microsoft Graph más antiguo. Pero, como hemos aprendido, la actualización de la hoja de datos sin flashear la hoja de datos es técnicamente imposible en este momento y causa corrupciones. Esperamos que este tutorial te haya sido útil y que nos visites nuevamente.

    ►TAMBIÉN TE PUEDE INTERESAR◄

    Deja un comentario

    Tu dirección de correo electrónico no será publicada.

    Go up