At a base level, from what is described, it sounds fine. If I understand correctly, you have a set of data that consists of multiple rows. Each row is sequentially used to generate a chart, and from that you are either producing a new PowerPoint file containing a single slide with the chart on it, or updating an existing PowerPoint with at least one new slide with the updated chart; the latter difference isn’t clear from the original description.
In terms of inefficiency and being cumbersome, I guess much of that will depend upon the size and complexity of the data & charts and the speed of the computer generating them. But the algorithm/approach itself seems reasonable to me for what’s been set-out.
There are other options such as having all charts generate at once simply by the data being present (but you’ll potentially have a much bigger spreadsheet and it wouldn’t really work for a variable number of rows), having the charts embedded in a PowerPoints and refreshing them to pick up the latest embed when shown (relies on your file structure and distribution may be an issue for this approach), etc. There’s essentially some dependency around scale, around how the PowerPoint decks will be used, etc. in terms of what’s appropriate.
If you want to improve efficiencies, then the breadth of what you are looking at might also be worth looking into.
- Where does the source data come from and how does that get into the spreadsheet?
- Do you have a machine that could process the file on a schedule - you can accomplish a lot of Excel and PowerPoint magic with a bit of VBScript on a Windows PC (/virtual machine) for example. I have a really old version on my Mac, so I don’t know how the AppleScript support might be these days - but it may offer something similar.
- Does the final format have to be a PowerPoint slide (deck), or are there other output options … which then might bring on board a number of other services and apps as automation options.
Remember, if the result is just there waiting for you when you need it (with no manual trigger, no waiting), small inefficiencies are simply never observed and are therefore often negated.
Don’t get me wrong though. Excel (on the PC at least) is undoubtedly one of my favourite apps. The power it can bing to bear on things still impresses me almost daily when and I simply couldn’t do my job without the macros, and formulas it enables me with. It may be the perfect fit for your use case, but without a wider understanding of what the end goal might be, it’s hard to pick a direction.
Hopefully something in that’s helpful to you.