10 Ways My Excel VBA Has Improved In 10 Years (BEGINNER TO PRO!)

10 Ways My Excel VBA Has Improved In 10 Years (BEGINNER TO PRO!)

10 Ways My Excel VBA Has Improved In 10 Years (BEGINNER TO PRO!)

The Tiger Lottery is an old favourite on the channel.  Did you know it was based on a real-world project?  I dug out an early version of the lottery file from back in 2011 - and was shocked by some of the Excel VBA coding. 

FREE: YOUR EXCEL CHEATSHEET MINI-COURSE

The differences between my Excel VBA then and now are profound.  There are great lessons here for Excel VBA beginners, and a few for me!  Here are the 10 main insights that you can use to move towards professional level Excel VBA coding.

CLICK HERE TO WATCH THE VIDEO

00:00 Context / Motivation

EXCEL DOWNLOAD FILES

01:15 1. Module Names

My favourite module name when I was a VBA beginner?  ‘Module1’.  I didn’t know module names could be changed, nor that macros could be organised into modules by function.  Some of my favourite module names these days: ‘Functionality’ for the main functions, and ‘Programmer’ for testing macros that only I need to see.

01:58 2. Variable Names

Ah, good old ‘Dim X As Integer’.  This line of code is ingrained on my conscience from my university days.  But, from my perspective now, it’s not good coding practice.  Why not use an informative name such as ‘Counter’ to describe the role of the variable and make it clearer now – and easier to understand when you come back to the project in 2 months!  Oh, and declaring each variable on a new line is best practice for me these days.

02:45 3. Lack Of Indentation

The overall structure of the code is a clear weakness.  Indentation gives the code ‘shape’, making overall structure easier to understand.  It’s an absolute must for me these days.

03:37 4. Lack Of Annotations

Comments in the code are conspicuous by their absence.  I couldn’t find a single one!  I love properly annotating code these days; in fact I usually write out all the comments before trying a line of VBA.

04:23 5. No Option Explicit

Perhaps this is less necessary when using single-letter variable names (eg. X as Integer) but, still, including Option Explicit is good coding practice.  There’s a setting in the VBA editor to do it automatically – Tools / Editor / Require Variable Declaration.  Personally, however, I like typing it myself which means I can remind you of its importance in the videos!

FREE: YOUR EXCEL CHEATSHEET MINI-COURSE

05:07 6. Reference Entire Column

Did you spot the range(“E:E”) reference in the original file?  I just asked Excel to perform an operation on 2 million cells!  In this case, there’s no discernable loss of efficiency, but it’s still best avoided.  The optimal solution?  Dynamically define the existing data range to clear only cells containing data.

06:04 7. Not Utilizing VBA Functions eg. Rnd

This one’s not a major problem but, as you progress through your VBA career, you might develop an awareness of what’s best done in the worksheet, and what’s best done in VBA.  For me, it’s become a bit of an obsession!  It’s more efficient to use VBA’s ‘native’ random number function (=Rnd) than to input the formula to the spreadsheet with VBA, for example.

06:48 8. Not Utilizing Application.WorksheetFunction

Again, a harsh critique perhaps, but why not maximise efficiency where possible?  Yes, workheet formulae dovetailing with VBA can be a thing of beauty, but application.worksheetfunction shifts all the work to the VBA editor and is super slick.  The loss of transparency / traceability that a formula brings is worth it, if you’re confident in VBA.

07:34 9. Asking VBA To ‘Activate’ Sheets

The principle here: remote vs. direct referencing.  It’s possible to ask VBA to ‘activate’ any sheet in the file.  To do so simplifies the VBA commands (or at least shortens them), as seen in the original file.  However, assuming any sheet in the file to be active can be risky, and activating a sheet slows down the code.  These days, I ensure the routines work from anywhere in the file using remote referencing techniques.

08:31 10. Using ‘Selection’

The same principle applies within a worksheet.  In the original file, you can see me use ‘selection’ and ‘selection.offset(1,0)’ to work down a range of cells by, literally, selecting them one by one.  This is the way I first learned VBA.  Remote referencing is more difficult to code but ultimately more robust and efficient – give it a try, or at least try to work towards it!

FREE: YOUR EXCEL CHEATSHEET MINI-COURSE

Let me know in the comments below what improvements you're trying to make to your Excel VBA coding - I'll get back to you there.

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