Excel VBA Absolute Beginner Course 30 For 30

Excel VBA Absolute Beginner Course 30 For 30

YOUR EXCEL VBA ABSOLUTE BEGINNER COURSE

This course, delivered live and interactive, is aimed at absolute beginners in Excel VBA. Building from the basics, we will explore the power of Excel VBA and appreciate the transformational effect it can have on people’s work. I will show you the techniques I use to deliver massive value for my clients in the real-world context using Excel VBA, and give you demonstrations to get you using at least some of them.

Download files for this series can be found here.


Yes, I cannot make you a computer programmer in 15 hours but I can help you appreciate the possibilities and equip you with the basic tools and concepts. Welcome to the 30 for 30 Excel VBA Absolute Beginner Course!

Video 1

In part 1, we will look at how to set up your computer for Excel VBA and create your first custom-coded Excel macro. Yes, you’re now a computer programmer!



Video 2

In part 2, we will explore how to work with ranges or ‘cells’. These are clearly a fundamental part of Excel so getting VBA to work with them is essential. We will build from the basics to some more advanced examples. Remember to ‘play’ with the examples Chris gives you to consolidate your learning!

"


Video 3

In part 3, we will get acquainted with ‘variables’ in Excel VBA. First, what on earth is a ‘variable’, and how can they help us in Excel programming? Then, we will define a variable and use to store information and perform some basic calculations.



Video 4

In part 4 we look at position control. Excel gives us cells to work with; ability to navigate these cells is one of the key skills of Excel VBA programming. We will get to know the offset formula and then attempt to transfer this knowledge into VBA to begin to control position like a pro.



Video 5

In part 5 we will up the level of difficulty and of programming power with loops. A loop is a repeated set of instructions. They are an order of magnitude more powerful than what we have learned so far and, as such, have to be handled with care! We will learn the basics in this stream – be prepared for a crash or two but don’t worry, it’s all part of the process!



Video 6

Conditional statements are a key part of Excel VBA and of computer programming languages more generally. Suppose we want the code to go one of two ways depending on something happening in the spreadsheet – a ‘condition’. In the stream we will explore how to do this, building from a simple to a more advanced example. I hope you are feeling the power of Excel VBA!



Video 7

Have you ever used Excel’s macro recorder to record and ‘play’ a macro? The macro recorder is such a useful facility for the Excel VBA learner. In this stream, we will look at how to record some code in the macro recorder, then tweak and scale it up to get a huge amount of work done at the click of a button.



Video 8

We’ve already dealt with and applied one type of loop – the for / next loop; check out the previous streams for that one. Excel VBA offers different types of loops that help us get different jobs done and create supremely powerful routines. In this stream we will look at for / each loops and how they can help us get things done in Excel.



Video 9

Today we’ll deal with the third and final looping technique in Excel VBA. Remember, a loop allows us to repeat a set of instructions any number of times; as such, they allow us to get HUGE amounts of work done in Excel. The Do – Until loop offers new possibilities in terms of flexibility and exit conditions. It’s also more likely to crash – so watch out! Always save the file before running VBA code 🙂



Video 10

In today’s stream I will first show you a real-world application of Excel VBA that should get you excited about the possibilities. Then, we’ll look at manipulating objects such as shapes in spreadsheets, and a tricky problem that we will tackle over the next few streams.



Video 11

I would be short-changing you if I claimed all you need to know is each Excel VBA technique in isolation. In reality, we have to know how the techniques combine together and, crucially, how to apply them to real-world problems. During this phase of the course we will explore more real-world applications (from Chris’ work) and tackle problems that require combinations of techniques. Today, let’s get into the traffic light simulator!



Video 12

In part 12 we explore how to use conditional statements to programme a reasonably complex mechanism – a set of traffic lights! Yes, these traffic lights will not be fit for real-world usage but attempting to programme the sequencing is a great learning opportunity. Let’s see if we can get it working, and don’t forget to show somebody else YOUR complete Excel VBA traffic lights!




Video 13

Let’s get in to part 13! So, our traffic lights are working well, but we now have a new client requirement to deal with – to conceal the ‘state’ cell. We know variables offer another place to store information away from the user – but how to apply them in this context? In this stream, we learn how to use variables to pass information between macros, and even to store information once a routine has run.




Video 14

Ok, so it’s been tough going the past few streams. We’re learning some really sophisticated techniques now, and combinations of them, so it’s normal to not understand everything. Give yourself time, remember you can watch the replays AND that you don’t need all the techniques anyway. Today’s stream is reasonably technical but tomorrow’s is not – I promise something different then! In part 14, we look at how to apply application.worksheetfunction to access a worksheet formula from VBA and get a job done at the click of a button.




Video 15

Halfway! Today we’re doing a more relaxed stream. I will do a short overview of the course so far and answer queries that I’ve received. Hopefully the stream will act as a useful recap and a reminder that you don’t need to know ALL the VBA techniques. Then, we’ll be ready to press on with the second half the of the 30 for 30 Excel VBA Absolutely Beginner Course.


Video 16

Right, the second half of the programme, and the beginning of your Excel VBA consultancy career! Yes, today you will be presented with a short ‘briefing’ to replicate a real-world challenge: will you be able to deliver an Excel VBA-based solution for our ‘customer’? Today, we’ll focus on planning and conceptualisation for this task, and a basic mechanism (and something completely new for 30 for 30) to get us started.



Video 17

In part 17, we will start coding the task that we planned and conceptualised in part 16. We zoom in on the major coding challenges and deal with at least one of them in this stream. We will focus on how to use constructs such as .end(xldown) to create dynamic routines that will keep you and your customers happy for years to come!



Video 18

Having dynamically defined a range of cells to work with in part 17, we will continue our application of Excel VBA in part 18 by looping through the range of cells. We’ll explore how to tackle our next coding challenge: how to establish if a worksheet with a particular name already exists in the file. It will involve some kind of ‘loop within a loop’ type setup – cool!



Video 19

In part 19 we will explore how to add a sheet to a file using Excel VBA in the context of the real-world type task we are undertaking in the second half of the course. This means dealing with the challenge of generating the code – will it be recycled, recorded or organic? Join us at 1600 to find out.



Video 20

Part 20! Let’s get on with our real-world type Excel VBA task. Yes, we have succeeded in creating a sheet for each spending category; but – this poses a new problem: how to delete previously created sheets, a potentially time-consuming task? We will work out how to do this at the click of a button in this stream, and then consider our next steps …



Video 21

In part 21 we will explore how to move data around sheets in a powerful and scalable way. We now have a sheet for each category – so how to transfer data onto each sheet? A number of issues must be solved, including how to dynamically position the data on each sheet to get the next empty row. See you in the stream!



Video 22

So, we’ve managed to transfer some data onto the destination sheets. This gives us some satisfaction as a programmer, but is not particularly useful for the end user. In this stream, we apply advanced VBA position control techniques to transfer data from multiple cells to the destination sheets. The techniques and concepts should not be new – but the application might be! See you at 1600.




Video 23

Our solution to the real-world type problem we have been dealing with is certainly accurate and functional, but lacks efficiency and ‘slickness’. In this stream, we will consider an alternative approach and look at how to create code to sort datasets. We’ll record some code then explore how to tweak it to get it working perfectly. See you at 1600!



Video 24

After improving the efficiency of our routine in the previous stream, now we’ll explore how to implement a custom sort button. Sorting data (and interacting with sort dialogue box) is very ‘clicky’ – so why don’t we automate it with Excel VBA? In this stream, we’ll look at how to create a custom sort function in which the customer can choose the sort column. Cool!



Video 25

Part 25! In this stream we’ll implement a mechanism to choose a sort column. This should (finally) complete our custom sort functionality. Once this is done, we’ll look at how to use Excel VBA to format reports and create a professional look – all at the click of a button, of course. See you at 1600!



Video 26

In part 26 we’ll explore how to complete our real-world type task by using cell formatting to make the reports look neat and tidy. We’ll look at at least one approach and how to get it working, at the click of a button, in the real-world context. More at 1600 UK time!


Video 27

Can we get this formatting macro working? In part 26, we recorded some formatting code and created the framework for the formatting macro that should get the reports into a neat-and-tidy format. Can we bring everything together today, and get it all working at the click of a button, with a reasonable level of efficiency? Join us at 1600 UK time to find out.



Video 28

In part 28, our final ‘technical’ stream, we’ll look at an alternative approach to this data manipulation problem using a ‘Do – Until’ loop. Yes, we have got the job done with other approaches, but ‘Do – Until’ offers new possibilities for the VBA developer, and this example gives us an opportunity to explore at least some of them. See you at 1600!




Video 29

Here we go, part 29! In this stream I will attempt to inspire you to kickstart your Excel VBA journey by creating some real-life applications. I will show you 2-3 of my real-life projects and point out the key features and some of the interesting VBA-based mechanisms that make it all work in the background. See you at 1600 UK time for the penultimate part of 30 for 30.




Video 30

We made it! The final session in the series. In this video, I’ll answer viewer questions about 30 for 30 and Excel consultancy more generally, and show you some of my top comments relating to the series. What a privilege it has been to be your guide for the last 30 days: now you have to find the confidence and motivation to create your own magic using Excel VBA. Let’s try to get you there with this final session!

Free Excel (VBA) Tutorials

Buy nowLearn more

Become An Excel Analyst In 30 Days (COMPLETE COURSE!)

  • 4 Ways To Get Better At Excel Today! (THE EXCEL METASKILLS)
  • How Do Companies ACTUALLY Use Excel In 2023?
  • Excel Simplified: The Things You NEED To Know In Excel (and what you can ignore)
  • How To Collect Data With Excel In 2023 (Without Annoying Your Coworkers!)
  • Power Query For Beginners
  • STOP Fixing Data In Excel! START Using Excel Data Validation Like A Pro ...
  • Top 10 Excel Formulae For Cleansing Your Data QUICKLY And EFFICENTLY In Excel
  • How To Do A Basic Data Analysis In Excel (CHART INCLUDED!)
  • My QUICK And EASY Method For Building An Interactive Dashboard In Excel
  • Why You Should Learn Excel’s Data Analysis Formulae (EXCEL PIVOT TABLE ALTERNATIVE!)
  • How To Create BEAUTIFUL Charts In Excel
  • What's An Excel 'Model'? (AND 5 EXCEL MODEL-BUILDING FORMULAE!)
  • The Secret To Smooth Formula-Building In Excel (EXCEL MODELLING FOR BEGINNERS!)
  • Build This BEGINNER EXCEL MODEL With Me In Around 15 Minutes!
  • How To Create BEAUTIFUL Visualisations For Excel Models
  • THE BASICS OF EXCEL VBA EXPLAINED (For Beginners!)
  • Frustrated With Recorded Macros In Excel VBA? HERE'S HOW TO IMPROVE THEM
  • 5 ESSENTIAL Excel VBA Beginner Techniques
  • How Automate Manual Work In Excel With Loops In Excel VBA
  • How To Generate UNLIMITED Random Data In Excel (CLICK OF A BUTTON!)
  • SAVE TIME IN EXCEL With These 23 Excel Keyboard Shortcuts (WINDOWS PC)
  • 5 Formatting Principles For Better Excel Spreadsheets
  • 4 Worksheets To Include In ALL Your Excel Files (GENERIC EXCEL SHEET ROLES!)
  • What's The Difference Between An ANALYST And A CONSULTANT? And Why Does It Matter For YOUR Career?
  • 4 NON-EXCEL Tools To Help You Create Better Spreadsheets
  • How Can DRAWING Help You Create Better Excel Spreadsheets?
  • How Should You Manage An Excel Development Project? (4 STEPS!)
  • How To Make Excel Your Career (IN FOUR STEPS!)
  • Can You Become An Excel Analyst In 30 Days? (COURSE OVERVIEW)

Articles topics

  • 5 Essential Excel Formulae To Start Your Journey
  • Excel Formatting For Absolute Beginners
  • What You've Been Getting Wrong About Excel
  • How To Use Excel Tables And Excel VBA To Automate Manual Work
  • 26 Excel Productivity Tips For 2026
  • EXCEL: STATE OF THE UNION (How To Save Your Excel-Related Career)
  • THE EXCEL NIGHTMARE
  • Excel VBA To Copy Data From One FILE To Another (BEGINNER TO PRO! PART 2/2)
  • How To Format An Excel Spreadsheet (CHECKLIST INCLUDED!)
  • How To Stop Data Leaks In Excel (8 MUST-KNOW EXCEL TIPS!)
  • Excel VBA To Copy Data From One FILE To Another (BEGINNER TO PRO! PART 1/2)
  • STOP PAYING! Use EXCEL Instead For These 7 Software Tasks
  • Excel Forms Beginner Tutorial
  • How To Collect Data In Excel In 2025 (STOP ANNOYING COWORKERS!)
  • MIC'D UP: EXCEL DEVELOPER TAKES ON THE EXCEL WORLD CUP
  • THE 5 LEVELS OF EXCEL AUTOMATION
  • How To Automate Powerpoint Creation With Excel VBA (INSTANT PRESENTATIONS!)
  • Excel Office Script for Beginners - Part 3 of 3: Create A Loop In Excel Office Script
  • Excel Office Script for Beginners - Part 2 of 3: Manipulate Cells With Office Script
  • EXCEL VBA MASTER TIP: The Best Way To Copy / Paste Data From One Sheet To Another In Excel?
  • Stop Obsessing Over Excel Formulas! YOU'RE MISSING THIS ...
  • Excel VBA To Copy Data From One File To Another (BEGINNER TO PRO!)
  • Don't Copy / Paste Data In Excel! Use These 5 Alternatives Instead ...
  • Excel VLOOKUP Formula For Beginners
  • Excel Dashboards For Beginners
  • 25 Powerful Excel VBA Techniques For 2025
  • The Excel Mistake That KILLS Small Businesses
  • Excel Office Script For Beginners (AND VBA ADDICTS!) Part 1/3
  • 3 Excel Calamities (FROM THE TIMES!) And How To Avoid Them
  • RIP: MY EXCEL VBA CAREER (2008-2024)
  • AVOID This Excel Formatting Mistake (DO THIS INSTEAD!)
  • INSANELY Simple Excel Formatting Trick That Works EVERY Time
  • THE ONE FORMULA I WISH EXCEL HAD (+How To Build It Yourself!)
  • The 30 Excel Formulae You Must Know In 2024 (1-HOUR MASTERCLASS!)
  • Power Automate For BEGINNERS
  • Learn Macros In 19 Minutes (Microsoft Excel)
  • Learn Excel's BEST Automation Tool In 15 Minutes!
  • Learn The Easy Way To Transfer Data With Excel VBA In Around 5 Minutes! (WITH DOWNLOAD FILES)
  • How To Do What VLOOKUP Can't Do With OFFSET and MATCH
  • How To Categorise Numbers In Excel Using VLOOKUP
  • When You SHOULD Use INDIRECT
  • How To Remove Spaces in Excel (When TRIM Doesn’t Work!)
  • Complete Manual Excel Tasks In Seconds With THIS Excel Formula
  • Learn This Powerful Excel Formula Combination In Just 5 Minutes!
  • How To Model Winning And Losing Streaks In Excel
  • BEYOND THE MACRO RECORDER
  • Why Short Excel Formulae Are Better Than Long Excel Formulae (WITH PRACTICAL DEMO)
  • 17 Excel Beginner Formatting Mistakes (AND HOW TO FIX THEM!)
  • How To Format Your Excel Spreadsheet Quickly And Professionally With 26 Excel Keyboard Shortcuts
  • Excel Conditional Formatting Tutorial (FROM BEGINNER TO PRO!)
  • How Excel Knows If You're Working On Mac Or PC
  • 14 MORE Excel Formatting Tips (Make Excel Beautiful AGAIN)
  • Excel's Most Powerful Data Analysis Formula Explained In 5 Minutes
  • How To Use Conditional (IF) Statements In Excel VBA (Real-World VBA Task S3 P6)
  • Get Started With Position Control In Excel VBA (Real-World VBA Task S3 P5)
  • How To Combine Two Loop Types In Excel VBA (Real-World VBA Task S3 P4)
  • How To Build A Loop Within Loop In Excel VBA (Real-World VBA Task S3 P3)
  • How To Build A Loop In Excel VBA (Real-World VBA Task S3 P2)
  • How To Start An Excel VBA Macro (Real-World VBA Task S3 P1)
  • How To Analyse Goal Distribution In Excel (BEGINNER EXCEL DATA ANALYSIS!)
  • 3 Alternatives To SUBTOTAL To Analyse Football Data In Excel (PLEASE STOP!)
  • Complete Guide To Excel For Football Traders
  • Why I Don't Use Excel Tables
  • Don’t Just Use =AVERAGE In Your Excel Data Analysis! Do This Instead
  • 14 Excel Formatting Tips (Make Excel BEAUTIFUL!)
  • How To Automate VLOOKUP With Excel VBA
  • Can We Get Excel To Play Chess With Excel VBA? (INFINITY PROJECT)
  • How To Analyse Bitcoin ($BTC) Price In Excel
  • 10 Ways My Excel VBA Has Improved In 10 Years (BEGINNER TO PRO!)
  • Make Excel VBA Loops EASY With The Loop Blueprints (MM LITE #5)
  • Excel VBA Arrays For Beginners
  • The 3 Excel Superpowers
  • Even Beginners Can Learn Loops In Excel VBA ... (MM LITE #4)
  • The Only 3 IF Statements You Need In Excel VBA - Excel VBA Beginner Fundamentals (6/6)
  • Beginner Survival Guide To Working With Dates And Times In Excel
  • Create An Excel Combo Chart In 7 Easy Steps (MM LITE #3)
  • My No1 Excel VBA Technique Explained In 10 Minutes
  • The BEST Way To Move Sheets Between Files In Excel (MM LITE #2)
  • Master Excel's 11 Logical Formulae
  • How To Create A Loop Within A Loop In Excel VBA (MM LITE #1)
  • I Tried To Learn 500 Excel Formulae
  • Get Started With Loops In Excel VBA
  • Beginner Introduction To Variables In Excel VBA
  • 10 Popular Excel Formulae: OVERRATED / UNDERRATED?
  • How To Work With Cells With Excel VBA
  • Excel VBA Beginner Fundamentals
  • 10 Excel Formula Building Tips (Windows PC)
  • 7 Useful Excel Formulae You've Never Heard Of
  • What's The Best Excel Chart For Beginners?
  • Excel Data Analysis For Beginners: Learn This Formula FIRST
  • Why I Don't Use Pivot Tables In Excel
  • The ONE Excel Beginner Formula That Does ALL This
  • The 72 Things You Need To Know In Excel In 7 Minutes 2 Seconds
  • Let's Fix 5 Shocking Excel Pie Charts (SAVE A FRIEND!)
  • Should You Learn Excel VBA In 2021? 7 Questions To Answer
  • Excel VBA To Copy Data From One Sheet To Another (BEGINNER TO PRO!)
  • XLOOKUP For Beginners (And Why I'm Sceptical About New Excel Formulae ...)
  • Can’t Do Data Analysis In Excel? Just Do This!
  • Make Your Excel Data Chartable With This EPIC Excel Formula
  • Replace Excel Filtering ... With An Excel FORMULA?
  • The Best Alternative To Excel Filters?
  • Don't Use Excel Filters! Use This Incredible Excel Formula Instead ...
  • How To Validate Userform Inputs With Excel VBA
  • 3 Ways To Insert A Reference No. Using An Excel Userform
  • 3 Excel Data Analysis Techniques You Should Be Using
  • Excel VBA For Beginners: 30 Real World Problems And Solutions
  • How To Make Money From Excel
  • Excel VBA Absolute Beginner Course 30 For 30
  • Excel VBA Position Control Mastery
  • 9 Reasons (NOT) To Do An MBA
  • Suffering From Excel Ennui? Why It's Not (All) Your Fault
  • How To Use Excel VBA Code – Real Example S2
  • How To Get Better At Excel: The Excel Metaskills
  • Excel Dashboards For Beginners
  • 7 Essential Excel VBA Beginner Techniques
  • 17 Things You Must Know About The Excel VBA Editor
  • How to Change Grades to Numbers in Excel
  • How To Match A Number To A Range in Excel
  • How To Use Excel VBA Code – Real Example
  • Excel Indirect Function Tutorial
  • Excel Data Table Tutorial
  • Excel VBA to Move Data Around a File – My Approach
  • Your Weird Skillset is Your Best Asset
  • .Cells For Beginners
  • Your First Pivot Table
  • 19 Excel Beginner Shortcuts for 2019
  • Understand an Excel File in 3 Steps
  • Most Important Skill in Excel VBA
  • VLOOKUP Formula Problems / Fixes
  • Excel VBA to Copy Data to Sheets
  • Excel Frequency Formula: Common Problems / Fixes
  • Excel VBA to Convert Minutes to Decimals
  • What are Excel VBA Variables?
  • Use Excel VBA to Separate Worksheets to Files
  • Working with Excel VBA Message Boxes
  • Excel VBA IF Conditional Statements for Beginners
  • Excel Learning Tips: My Story
  • Excel Database Formulae For Beginners
  • Spreadsheet Skunkworks! Excel VBA Chess Challenge
  • Excel Userforms for Beginners
  • Use Excel VBA to Create Spin Buttons – Really Precisely!
  • Use Excel VBA to Create Buttons For Super Fast Data Input!
  • How to Collate Sports Fixtures Results into a League Table in Excel
  • Excel Custom Navigation: Excel VBA for Beginners
  • Excel Game – Do You Know the Offside Rule?!
  • Rich Picturing: Six Tips for Getting Started
  • Excel VBA for Beginners – Use Excel VBA to Cleanse a Dataset
  • Excel Offset Function – Give It Some Love!
  • Excel Visual Basic (VBA) for Post-Beginners
  • Generate Random Data in Excel
  • Combining VLOOKUP and MATCH
  • Dynamic Dropdown Menus in Excel
  • Excel for Teachers: Create A Student Progress Tracker
  • Excel Visual Basic (VBA) for Beginners
  • Create A League Table in an Excel Spreadsheet
  • What is Excel Spreadsheet Development?
  • Rank Things and Create A League Table in Excel
  • Finding Things in Lists of Data in Excel
  • #ExcelRevolution Manifesto
  • Cool Excel Formatting: Font Size and Colour
  • #ExcelRevolution Introduction
  • Combining MATCH and OFFSET
  • Cool Excel Formulae: COUNTIF
  • Cool Excel Formatting: Dynamic Headers
  • Cool Excel Formulae: IF
  • Cool Excel Formatting: Cell Borders
  • Cool Excel Formulae: VLOOKUP
  • Cool Excel Formulae: MATCH
  • Cool Excel Formulae: OFFSET
  • Cool Excel Formulae: COUNTA
  • Cool Excel Formulae: IFERROR