We love spreadsheets. And of course, once every four years, we also get mad about soccer. So why not merge both in to one awesome, frivolous and fun thing: Introducing….
Excel soccer game
The best part is you don’t have to run up to play this. Set your aim and let RANDBETWEEN() decide your fate.
Check out a quick demo of the game below
Download Excel Soccer Game – VBA File
Click here to download the game workbook. Enable macros to enjoy it. View Code to see VBA code behind this game. Go to “Calc” tab to explore the calculations.
How is this game created?
We use same ideas as discussed in Excel animated chart tutorial. Here is the brief outline of how I made this game.
- This is just an XY Chart with images for ball, goal keeper and aim marker.
- After user inputs the aim (X & Y) for where the ball should go, we generate a random position to which Goal Keeper will dive.
- We then calculate 100 frames
- Co-ordinates (x,y) for ball and goal keeper at each frame
- When “Shoot” is clicked, we just run a for loop in VBA to pick 1 frame at a time and show
- Oh yeah, some IF formulas to check if GK stopped the ball or not. If so, we stop the animation and show an image with goal keeper + ball.
- Lastly, we update the scores and show the progress as a sparkline
As this is a technical bit, I made a small video explaining the process. Check it out below (or on Chandoo.org Youtube channel)
That is all for now. Happy soccer & spreadsheets.
Want to play & learn:
If you like playing while learning, then check out these awesome tuts:
5 Responses to “Play spreadsheet soccer with Excel Penalty Game [VBA]”
Always the best! Great implementation of VBA and Dashboards!
I took the liberty to make a little difficult improvement (hope you dont kill me for that).
Thank you for everything!
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=1rd1dG6wVnSK6KV00B7dzzZ7RCDX_6sEF
@Sebastian.. Awesome tweak 🙂 Loved it.
I always love seeing the animated charts, thanks for sharing!
Amezing Trick In VBA
Thank
Thanks alot , but bro how may I reduce the number of ball shoot , I need to be only for 5 times