Adaptar una macro
Publicado por diego (10 intervenciones) el 12/01/2022 16:12:34
Buenas tardes.
Necesito una macro de excel que copie una tabla de mi excel y reemplace la tabla con mismo nombre ubicada en un power point. Para ello tengo una macro muy extensa y la parte del código que no me funciona es la siguiente y en la que trato de buscar diapositiva a diapositiva la tabla cuyo nombre quiero reemplazar, y cuando la encuentre la elimino y pego la nueva tabla.
Tengo conocimiento muy básicos de macros y he podido escribir la macro basándome en ejemplos que veo por la web y me parece que el error viene en lo que creo que se llama declaración de objetos. Creo que la macro no entiende lo que es Slide y Shape ¿Podéis ayudarme con el código?
Hasta este momento de la macro, tengo el power point abierto
Sub PasteSlide(rango As Variant, objeto As Variant)
rango.Copy
On Error Resume Next
Dim i As Integer
i = 1
For Each ppSlide In ppPres.Slides
ppSlide.Select
For Each ppShape In ppSlide.Shapes
If ppShape.Name = objeto Then
ppShape.Select
ppShape.Delete
rango.Copy
ppSlide.Shapes.PasteSpecial (ppPasteDefault)
i = i + 1
End If
Next ppShape
Next ppSlide
End Sub
Necesito una macro de excel que copie una tabla de mi excel y reemplace la tabla con mismo nombre ubicada en un power point. Para ello tengo una macro muy extensa y la parte del código que no me funciona es la siguiente y en la que trato de buscar diapositiva a diapositiva la tabla cuyo nombre quiero reemplazar, y cuando la encuentre la elimino y pego la nueva tabla.
Tengo conocimiento muy básicos de macros y he podido escribir la macro basándome en ejemplos que veo por la web y me parece que el error viene en lo que creo que se llama declaración de objetos. Creo que la macro no entiende lo que es Slide y Shape ¿Podéis ayudarme con el código?
Hasta este momento de la macro, tengo el power point abierto
Sub PasteSlide(rango As Variant, objeto As Variant)
rango.Copy
On Error Resume Next
Dim i As Integer
i = 1
For Each ppSlide In ppPres.Slides
ppSlide.Select
For Each ppShape In ppSlide.Shapes
If ppShape.Name = objeto Then
ppShape.Select
ppShape.Delete
rango.Copy
ppSlide.Shapes.PasteSpecial (ppPasteDefault)
i = i + 1
End If
Next ppShape
Next ppSlide
End Sub
Valora esta pregunta


0