creating macro replace object

Forum home » Delegate support and help forum » Microsoft Excel VBA Training and help » Creating a macro to replace an object in Powerpoints

Creating a macro to replace an object in Powerpoints

resolvedResolved · High Priority · Version 2010

Catherine has attended:
Excel Intermediate course
Excel Advanced course
Excel VBA Intro Intermediate course

Creating a macro to replace an object in Powerpoints

How can I change an object in multiple powerpoints in multiple folders

RE: creating a macro to replace an object in Powerpoints

Hi Catherine,

Thank you for the forum question.

What you want is very complicated and it takes a lot of code doing it. We are controlling other Microsoft applications from Excel on our Excel VBA Advanced course.

I suggest that you have a look at the website www.rondebruin.net . They are specialist in this field and you will find a lot of examples.

I do not know how many PowerPoint presentations you are talking about and how often you need to do it but if it is not many and it is not something you need to do often, then I do not think it is a good idea all the hard work with a macro.

If it is the same object you want to change in all the presentations you can link them between the presentations. Then you only need to change the source object and the rest of the presentations will update automatically.



Kind regards

Jens Bonde
Microsoft Office Specialist Trainer

Tel: 0207 987 3777
Best STL - https://www.stl-training.co.uk
98%+ recommend us

London's leader with UK wide delivery in Microsoft Office training and management training to global brands, FTSE 100, SME's and the public sector

RE: creating a macro to replace an object in Powerpoints

Hi Jens, thanks for the reply! Yes it is a lot of powerpoints - about 450 powerpoints and I just want to update the company logo on them as we had a brand change. the powerpoints are split between about 40 folders... So I want the macro to sequentially run through each folder.

If I were to do it manually, say allow 90 seconds to open up each powerpoint, delete the current logo and replace it with a new logo - we're looking at about 11 hours of solid work! So I figured writing a macro would be better and help me put into practice what I learned. I'll check the website you recommend and see how far I get.

I do have another - simpler question though. I have a list of 400 names and some of them have a Yes next to them. So I am working with 2 columns of data, I want the macro to only display the names which have a yes next to them. I tried this:

Sub ForEachTest()
For Each i In Range("A1:A347")
If i(0, 1) = "" Then
Kill cell
End If
Next i

End Sub

But I think I'm getting confused with whether I need decision code of For Each or maybe I need a variables. Are you able to help with this one?

Many thanks, Catherine

Wed 27 Aug 2014: Automatically marked as resolved.

 

Training courses

 

Training information:

Welcome. Please choose your application (eg. Excel) and then post your question.

Our Microsoft Qualified trainers will then respond within 24 hours (working days).

Frequently Asked Questions
What does 'Resolved' mean?

Any suggestions, questions or comments? Please post in the Improve the forum thread.


 

Excel tip:

Checking if a calculation adheres to Order of Precedence

When writing formulas you must make sure that results will be calculated as you intended.

Excel adheres to the standard order of precedence for calculations. It calculates percentages, exponents, multiplication, and division in this order before calculating addition and subtraction.

For example, =7+5*3 results in an answer of 22, not 36.

To force a calculation to be completed before another calculations, place the section in parentheses: =(7+5)*3 will result in 36.

To check how excel is evaluating a formula, click on the cell and select the 'Tools' menu, select 'Formula Auditing' and click 'Evaluate Formula'

In the dialog box click on 'Evaluate' to watch as each part of the formula is successively calculated.

View all Excel hints and tips


Server loaded in 0.06 secs.