VBA Help Request: Generate a Professional PowerPoint Presentation

arno29 Posted messages 2 Status Member -  
flo88 Posted messages 28481 Registration date   Status Contributor Last intervention   -

Hello everyone,

I would like to ask for your help as I am stuck on a project that is very dear to me, and I hope that a VBA expert can help me get over this hurdle! I will explain the context and my needs in detail so that you might, hopefully, be willing to accompany me on this journey.

Context
I am an assistant coach in an amateur football club that has just moved up to Regional 3. Together with the staff, we want to professionalize our match analysis to help our players improve. I have therefore created an Excel file (in .xlsm format, named MATCH RECAP) that centralizes all our match statistics (passes, aerial duels, possession, shots, corners & crosses, etc.).

Our goal: to automatically transform this data into a professional, dynamic and motivating PowerPoint presentation, on par with what can be found in the biggest European clubs. This presentation would then be shared with the team, notably via our WhatsApp group (possibly converted into a video).

My VBA Needs

I am looking for a VBA code that would allow, with a single click, to generate and update a PowerPoint presentation based on the data from my Excel file, according to the following structure:

  • Slide 1: Introduction

    • Dynamic title and inspiring opening phrase (e.g.: “Exceeding ourselves, together”)

    • Match Block (Date, Competition, Opponent) automatically retrieved from the PASSES sheet (D5, E5, E8)

    • Animated club logo, red/black gradient background, professional fonts (e.g.: Atos Narrow, Century Gothic)

  • Thematic Slides (1 intro slide + 1 graphic slide per theme)

    • Passes, Aerial Duels, Possession, Shots, Crosses & Corners

    • For each theme:

      • Dynamic title (not just “PASSES”, but “Our Ground Game”, etc.)

      • Hook phrase generated automatically based on stats and results (won/lost/draw)

      • Professionally generated graphic in VBA (not just a simple copy/paste from Excel)

      • No raw table displayed, just the essentials, sober and impactful

  • Conclusion Slide

    • Synthesis phrase generated automatically based on the match result (cell AO5: WON/LOST/DRAW)

    • Motivating or “stinging” message to provoke a reaction from the players

  • Inspirational Quote Slide

    • Sports or intellectual quote, drawn from a base of about 50 phrases, related to teamwork, progress, engagement, etc.

  • (Optional) Thank You Slide or Club Slogan

Constraints and Expectations

  • Total Automation: the presentation must update automatically with each match change (cell A1 = match number)

  • Professional Design: modern fonts, subtle animations, smooth transitions, club colors, harmonious positioning of elements

  • Compatibility: Office Home & Student 2019 (so not all advanced animations are possible)

  • No Visual Overload: readable font even on phone, no raw tables, just graphics and key phrases

  • Well-commented VBA Code: so that I can adapt it if needed, and not struggle to integrate it

How to Share My File and Presentation?

  • My Excel file MATCH RECAP is ready, with all the thematic sheets (PASSES, AERIAL DUELS, POSSESSION, SHOTS, CROSSES AND CORNERS).

  • I can provide an example of the PowerPoint presentation if needed, as well as an excerpt from my Excel file to facilitate development.

Summary of the Desired Structure

1

Ultra professional intro slide

Set the tone from the start

Red-black gradient background, animated logo, title, animated match block

2

Passes - intro & phrase

Theme with striking phrase and pro graph

Dynamic title + graph generated by VBA (not copied from Excel)

3

Passes - visual

Pro graph (bars, %...)

Sobriety pro

4

Aerial Duels - intro & phrase

Same as slide 2

Same

5

Aerial Duels - visual

Same as slide 3

Same

6

Possession - intro & phrase

Same as slide 2

Same

7

Possession - visual

Same as slide 3

Same

8

Shots - intro & phrase

Same as slide 2

Same

9

Shots - visual

Same as slide 3

Same

10

Crosses/Corners - intro & phrase

Same as slide 2

Same

11

Crosses/Corners - visual

Same as slide 3

Same

12

Automatic conclusion (motivating or shocking phrase)

Close and leave an impression

Title + phrase + pro design

13

Motivational slide

Animated club slogan ("if there's none of this, there's nothing")

Very strong visually

14

Inspirational quote

Convey a strong message

Animated, clean text

Why this project?

This is not just to “look nice”: I really want this presentation to impact my players, to motivate them, to give them a desire to improve and exceed themselves. I want to convey a culture of progress and commitment, and for each viewing to be memorable.

Thank you in advance to anyone who will take the time to help me!
I am open to any suggestions, and I can provide all the necessary files to make your job easier. If someone feels ready to take on this challenge, I would be truly grateful.

Please feel free to ask me for more information, I am available to clarify any point if needed.

Files

my file MATCH RECAP

https://docs.google.com/spreadsheets/d/1qc4AX_kjiaMoge7Fv1JisgSeVIy9wjYe/edit?usp=sharing&ouid=103468815845113435001&rtpof=true&sd=true

my PowerPoint presentation


https://docs.google.com/presentation/d/10NUYC2Y3rY3UK4vrKtc2s5KylroWRBmJ/edit?usp=sharing&ouid=103468815845113435001&rtpof=true&sd=true

my club logo


https://drive.google.com/file/d/15MrhFm8frfjQVCITiP3CbGyYeLiG-9LQ/view?usp=sharing

Thank you all for your attention and your valuable help!

2 answers

Bruno83200_6929 Posted messages 724 Registration date   Status Member Last intervention   170
 

Hello,

Although possible with VBA, this project would quickly reach the limits of the tool for a professional outcome. A Python or web solution would be better suited for a modern design, mobile compatibility, and simplified maintenance.

I think you will need to resort to a professional to carry out this ambitious project.

Here is a simplified example of VBA code to create a PowerPoint presentation with an intro slide, respecting certain requirements.

Option Explicit Sub GenerateMatchReport() ' Variable declaration Dim pptApp As Object Dim pptPres As Object Dim sld As Object Dim shp As Object Dim xlWs As Worksheet Dim matchDate As String, competition As String, opponent As String ' Reference to the PASS sheet Set xlWs = ThisWorkbook.Sheets("PASSES") matchDate = xlWs.Range("D5").Value competition = xlWs.Range("E5").Value opponent = xlWs.Range("E8").Value ' Create a new PowerPoint presentation Set pptApp = CreateObject("PowerPoint.Application") pptApp.Visible = True Set pptPres = pptApp.Presentations.Add ' Slide 1: Introduction Set sld = pptPres.Slides.Add(1, 12) ' ppLayoutBlank With sld ' Red/black gradient background .Background.Fill.Gradient.Stops.Add 0, RGB(200, 0, 0) .Background.Fill.Gradient.Stops.Add 1, RGB(0, 0, 0) ' Dynamic title Set shp = .Shapes.AddTextbox(1, 50, 50, 600, 100) With shp.TextFrame.TextRange .Text = "Match Summary: " & competition .Font.Name = "Century Gothic" .Font.Size = 36 .Font.Color.RGB = RGB(255, 255, 255) End With ' Match block Set shp = .Shapes.AddTextbox(1, 50, 150, 600, 100) With shp.TextFrame.TextRange .Text = "Date: " & matchDate & vbCrLf & "Opponent: " & opponent .Font.Name = "Century Gothic" .Font.Size = 24 .Font.Color.RGB = RGB(255, 255, 255) End With ' Club logo (path to be adapted) Set shp = .Shapes.AddPicture("C:\Path\To\Logo.png", False, True, 500, 400, 100, 100) With shp.AnimationSettings .EntryEffect = 2 ' ppEffectFade .Animate = True End With End With ' Cleanup Set sld = Nothing Set pptPres = Nothing Set pptApp = Nothing MsgBox "Presentation generated successfully!" End Sub

0
arno29 Posted messages 2 Status Member
 

Good evening,
thank you very much in any case for this beginning of VBA.
After Python, I don't know the system at all; if it's easier to do, perhaps it would be useful for me to look into the subject.

I thank you for the time you have already spent to do this for me.

0
flo88 Posted messages 28481 Registration date   Status Contributor Last intervention   Ambassadeur 5 168
 

Hello

PowerPoint already offers a significant range of tools without the need to code instructions that won't work well with a PowerPoint presentation.

Data tables can be created in dynamic format and pasted into the presentation; they will update each time it's opened.

0