Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Convertir un libro de Excel en PowerPoint

| 1 comentario

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

 

PRESENTACIÓN 1

 

PRESENTACIÓN 2

(Para mayor visualización de la imagen, hacer click en la misma)

 

CONVERTIR UN LIBRO DE EXCEL  EN POWERPOINT

 

Melissa Suárez

Un comentario

  1. 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.

Deja una respuesta

Los campos requeridos estan marcados con *.