Instantáneas de hojas de trabajo de Excel para PowerPoint (Microsoft Excel)
Rebecca Birch tiene algunos clientes que requieren que todos los informes se les presenten en PowerPoint. Esto presenta una tarea enorme, ya que todos los datos de origen para esos informes están disponibles solo en Excel. Rebecca estaba buscando ideas para facilitar un poco la carga de convertir de una a otra, tal vez tomando «instantáneas» de los datos de la hoja de trabajo y colocándolas en diapositivas de PowerPoint.
Una solución, si no se necesitan tantas instantáneas, es simplemente pegarlas manualmente. Puede mostrar información en Excel y luego presionar la tecla Imprimir pantalla para colocar una imagen en el Portapapeles de Office. Cambie a PowerPoint y elija Portapapeles de Office en el menú Editar. Luego, puede ver el contenido del Portapapeles y elegir lo que desea pegar en la diapositiva actual.
Un enfoque menos repetitivo sería vincular los datos del libro de Excel a las diapositivas. Puede utilizar Editar | Pegado especial (en PowerPoint) para pegar datos vinculados. De esta forma, siempre que se actualicen los datos del libro de trabajo, también se actualizarán las diapositivas vinculadas. Si se hace correctamente, esta solución tiene la posibilidad de tener que pegar solo una vez.
Si prefiere tomar la ruta del desarrollo de macros para pegar, consulte uno desarrollado por Jon Peltier en su sitio web:
http://peltiertech.com/Excel/XL_PPT.html#rangeppt
Tomará una instantánea de las celdas seleccionadas y luego las pegará en la diapositiva activa en PowerPoint. (Obviamente, debe tener tanto Excel como PowerPoint abiertos para poder usar la macro).
Además, la macro podría modificarse con relativa facilidad para que pasara por una serie de rangos con nombre en Excel y pegara el contenido de esos rangos en diapositivas específicas en PowerPoint.
Otra solución basada en macros es crear una nueva presentación de PowerPoint (desde dentro de Excel) que contendrá una instantánea de cada una de las hojas de trabajo en el libro actual de Excel. La siguiente macro logra esta tarea:
Sub CopyWksToPPT() Dim pptApp As Object Dim sTemplatePPt As String Dim wks As Worksheet Dim sTargetTop As Single Dim sTargetLeft As Single Dim sTargetWidth As Single Dim sTargetHeight As Single Dim sScaleHeight As Single Dim sScaleWidth As Single Dim iIndex As Integer 'Change these as desired sTargetTop = 30 sTargetLeft = 60 sTargetWidth = 600 sTargetHeight = 450 sTemplatePPt = "C:\Program Files\Microsoft Office\Templates\Blank Presentation.pot" iIndex = 1 Set pptApp = CreateObject("Powerpoint.Application") With pptApp .Visible = True .Presentations.Open _ FileName:=sTemplatePPt, Untitled:=msoTrue For Each wks In Worksheets wks.Select .ActiveWindow.View.GotoSlide _ Index:=.ActivePresentation.Slides.Add _ (Index:=iIndex, Layout:=12).SlideIndex iIndex = iIndex + 1 wks.UsedRange.Copy .ActiveWindow.View.Paste With .ActiveWindow.Selection.ShapeRange sScaleHeight = sTargetHeight / .Height sScaleWidth = sTargetWidth / .Width If sScaleHeight < sScaleWidth Then sScaleWidth = sScaleHeight Else sScaleHeight = sScaleWidth End If .ScaleHeight sScaleHeight, 0, 2 .ScaleWidth sScaleWidth, 0, 2 .Top = sTargetTop + (sTargetHeight - .Height) / 2 .Left = sTargetLeft + (sTargetWidth - .Width) / 2 End With Next .Visible = True End With End Sub
Tenga en cuenta el área que dice «Cambie estos como desee». Contiene las especificaciones de dónde estará la instantánea pegada dentro de cada diapositiva de PowerPoint, así como su altura y ancho. También se incluye, en la variable sTemplatePPt, la ruta completa a la plantilla que debe usarse para la nueva presentación de PowerPoint.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2378) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.