Esta macro toma los datos de Excel para mostrarlos en una presentación de PowerPoint. Donde el libro es la presentación en sí y cada hoja de trabajo se convierte en una diapositiva de la presentación, proporcionándonos información sobre una región en específica.
1er paso.- Es necesario establecer una referencia en la Biblioteca de Microsoft de Power Point. Al abrir el Editor de Visual Basic, nos dirigimos a Herramientas, opción Referencias, buscamos el siguiente ítem Microsoft PowerPoint XX Object Library le damos un check, donde XX será la versión de tu PowerPoint.
2do paso.- Insertamos un modulo
3er paso.- Colocamos el siguiente código
Sub PowerPoint()
'Step 1: Declare your variables
Dim pp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim xlwksht As Excel.Worksheet
Dim MyRange As String
Dim MyTitle As String
'Step 2: Open PowerPoint, add a new presentation and make visible
Set pp = New PowerPoint.Application
Set PPPres = pp.Presentations.Add
pp.Visible = True
'Step 3: Set the ranges for your data and title
MyRange = "A3: I35"
'Step 4: Start the loop through each worksheet
For Each xlwksht In ActiveWorkbook.Worksheets
xlwksht.Select
Application.Wait (Now + TimeValue("0:00:1"))
MyTitle = xlwksht.Range("A1").Value
'Step 5: Copy the range as picture
xlwksht.Range(MyRange).CopyPicture _
Appearance:=xlScreen, Format:=xlPicture
'Step 6: Count slides and add new slide as next available slide number
SlideCount = PPPres.Slides.Count
Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutTitleOnly)
PPSlide.Select
'Step 7: Paste the picture and adjust its position
PPSlide.Shapes.Paste.Select
pp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
pp.ActiveWindow.Selection.ShapeRange.Top = 100
'Step 8: Add the title to the slide then move to next worksheet
PPSlide.Shapes.Title.TextFrame.TextRange.Text = MyTitle
Next xlwksht
'Step 9: Memory Cleanup
pp.Activate
Set PPSlide = Nothing
Set PPPres = Nothing
Set pp = Nothing
End Sub
4to paso.- Colocamos información en nuestra Hoja1 del libro de Excel y esa información será la que aparecerá en el PowerPoint al ejecutar la macro. Para ello, se colocará en el paso Nº 3 del código, desde la primera celda hasta la última celda de su información (En este caso, yo le coloqué “A3 :I35”, que son los datos de mi cuadro. No coloqué desde A1, ya que A1 vendría a ser mi Titulo que aparecerá en el PowerPoint y, también tenemos un código para el Título, como pueden observar en el paso Nº 4 del código, que ya lo veremos mas adelante, "MyTitle = xlwksht.Range("A1").Value."
5to paso.- En la Hoja 2 coloqué un gráfico del mismo tema (Pueden colocar datos o gráficos )
6to paso.- Deberán asignar un Título en una celda en el libro de Excel,esta podría o no corresponder a una celda de la tabla de datos, la misma que observarán en la presentación en PowerPoint. Dicha celda se colocará en el paso Nº 4 del código. En este caso es (“A1”).
7mo paso.- Finalmente, ejecutamos la macro y observarán lo siguiente
(Para mayor visualización de la imagen, hacer click en la misma)
CONVERTIR UN LIBRO DE EXCEL EN POWERPOINT
Melissa Suárez
05/08/2019 a las 5:55 pm
hola, tengo un listado de nombres y su fotografía en excel y quiero enviarlos a power point de tal manera que cree un slide con nombre y foto, para cada persona, es decir, si la lista de excel tiene 50 nombres y fotos, que se creen igual numero de slides, cada uno con nombre y foto. Gracias.