Powerpoint VBA Issues - Looping through Shapes


Joined
Oct 29, 2015
Messages
2
Reaction score
0
Hi


I am quite new to VBA in general and I am currently working on a VBA code in PowerPoint which loops through different shapes on one slide (Slide 2) to compare if they are the same. If they aren’t, the text inside the shapes is copied into another slide (slide 1). The code for comparing shape 2 only is below. I want to loop this code for shapes which are named 2 to 6. I have been trying to do this for ages but I haven’t had any success. I tried replacing Shapes(2) with Shapes (i) but that didn’t work either. Can anyone help me please?

Sub step1()

If ActivePresentation.Slides(1).Shapes("1").TextFrame2.TextRange.Characters.Text <> ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text Then

If ActivePresentation.Slides(1).Shapes("2").TextFrame2.TextRange.Characters.Text = "" Then
ActivePresentation.Slides(1).Shapes("2").TextFrame2.TextRange.Characters.Text = ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text
Else
If ActivePresentation.Slides(1).Shapes("3").TextFrame2.TextRange.Characters.Text = "" Then
ActivePresentation.Slides(1).Shapes("3").TextFrame2.TextRange.Characters.Text = ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text
Else
If ActivePresentation.Slides(1).Shapes("4").TextFrame2.TextRange.Characters.Text = "" Then
ActivePresentation.Slides(1).Shapes("4").TextFrame2.TextRange.Characters.Text = ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text
Else
If ActivePresentation.Slides(1).Shapes("5").TextFrame2.TextRange.Characters.Text = "" Then
ActivePresentation.Slides(1).Shapes("5").TextFrame2.TextRange.Characters.Text = ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text
Else
If ActivePresentation.Slides(1).Shapes("6").TextFrame2.TextRange.Characters.Text = "" Then
ActivePresentation.Slides(1).Shapes("6").TextFrame2.TextRange.Characters.Text = ActivePresentation.Slides(2).Shapes("2").TextFrame2.TextRange.Characters.Text
End If
End If
End If
End If
End If

End If

End Sub
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top