VBA Help Request: Generate a Professional PowerPoint Presentation
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
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 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.
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.