Excel VBA Programmer
Automate your workflow and make Excel ‘Do Your Work For You’
By Dan Strong, Owner @ ExcelVbaIsFun
Course length: ~12.5h
Teach Excel to Do Your Work FOR YOU. . .
Microsoft Office is everywhere, installed on over 750 million computers, but most users only know how to set up a basic table or maybe even do a few formulas here and there.
In my course, I teach you how to take Excel by the horns and make it do whatever you want, whenever you want. It can go through loads of information and create a printable report for you. You can make custom forms so that you can access, analyze, edit, or add new information quickly to your data tables/ worksheets.
Excel programming utilizes a simple but effective tool called “VBA” – the hidden programming language that runs quietly in the background while you work. It’s very easy and straight-forward to use.
Introduction video (1 min)
After taking this course, you’ll…
- Automate and Customize data entry forms
- Choose the right Loop for each task
- Master the CELLS and RANGE objects in multiple scenarios
- Create multiple Variable styles to match your need
- Customize your VBA Editor and Understand all the Toolbars and options
- Debug and Troubleshoot code like a boss!
- Record, Modify or Write Macros from scratch
- Make Custom Formulas/Functions on the fly
- Breeze through IF THEN statements and conquer all the Logical Operators
- Batch out inter-active MessageBoxes, InputBoxes and give users CHOICES!
- Generate Basic Reports that can be printed
- Add filters to report menus to narrow the records
- Take control of forms, Buttons, Drop-down menus, Checkboxes and option buttons AND so much more. . .
- Trigger code from a number of different methods – from Clicking on a cell – to De-Selecting a worksheet.
- Set up Special Commands when a workbook: Opens or closes, is selected, any cell or certain cells are selected, right before printing, etc. . .
- Manipulate Userforms for data entry, report generation, editing tables/databases – ALL within your control. Restrict the flow of data OR make the Userform(s) responsive, calculating, INTUITIVE.
- Streamline your work and the work of others.
- Put Excel ON AUTOPILOT. . .
This course is right for you if you…
- This Excel course is for anyone who wants to learn Automation secrets in Excel VBA. It’s for complete newbies and/or students looking for a refresher or Reference tool, to pick and choose relevant lessons for their projects. No prior programming knowledge is needed.
- If you’re ready to automate your repetitive tasks with over 12.5 hrs of real world examples, exercises and quizzes, this is for you.
- NOTE: If you’re using Excel for Mac, you will find that this course won’t cover all the various differences in Excel Mac, as this course was filmed using Excel for PC and Excel VBA is a bit limited for Mac users, esp on the design side. Macros on Mac computers still work, but you can’t design Userforms on a mac, only run them. Many students end up programming in Windows and just using Mac to run the Excel wb or will virtualize Windows within Mac using programs like Parallels or Bootcamp.
This course is NOT for you if…
- This course is probably not for you if you’re looking to learn super advanced report authoring, which will be covered in a future course specifically on this topic. We will, however, make sure you know how to make good solid reports from your data and many tricks to make them look good.
Don’t just take our word for it…
Corporate Treasurer & Financial Systems Manager @ Real Matters
Wow, I thought I knew a little bit about Excel but clearly I had only seen the tip of the iceberg. This course has opened my eyes to the true power of VBA within excel. Great course, fantastic instructor.
National Sales Analyst @ Smurfit Kappa
I’ve taken several different VBA courses … and this one from Daniel is by far the most interesting and easy to understand. I’ve done exactly 107 lectures so far and already was able to automate 80% of my tasks at work that I’ve been doing manually for years… I’m angry with myself because of the time I wasted by not buying this course earlier. I can’t even imagine what I will be able to do after finishing the entire course 🙂
Corporate Financial Reporting Analyst @ Group Indigo
By far, one of the best step by step guides to VBA programming I have ever seen. I have been playing around with VBA for over a year now, have watched countless videos and have read numerous articles and “How-to” guides, but I have never seen something this complete, this thorough. I am amazed at how little I actually knew about the VBA world. Thanks a million!
Skills you should have before taking this course…
- You should already have Microsoft Excel (version 2003 and up) installed. Obviously the newer the better, but VBA works the same in all versions. It’s just that newer versions have more options, thus more VBA Commands to control those options.
- If you can open Excel and click around, you’re ready. You really don’t need any Excel experience, because I’ll take you from Start to Finish in this course.
This course was designed to be useful for All Levels (Beginner to Advanced) and can be used as a Reference after the fact. It was created as a progressive, step-by-step guide to showing you how easy it is to develop macros from scratch – and you’ll be doing just that in a few minutes.
Dan Strong is a renowned software instructor and efficiency solutions specialist and the Founder at ExcelVbaIsFun and Strong Software Solutions where he teaches report generation, data analysis, automation and numerous other I.T. skills. He posesses an exceptional ability to simplify complex topics and engages learners with an infectious passion for automation and technology.
Author of multiple international best-selling courses with over 125K students from 192 countries. He regularly publishes free training to 90K+ YouTube followers and at excelvbaisfun.com.
Your full course curriculum
THE ULTIMATE EXCEL PROGRAMMER COURSE
The Range Object
In the first section, we’ll be guiding you through the basics of how to create your first macro from scratch and read and write to cells. We’ll also cover different ways to run your macros, including making a cool looking button to trigger your macro.
- Intro and Course Workbooks download
- Get the Developer Tab and Intro to Developer Tab
- Getting started with Range object
- Quick Tip – Project Explorer and Properties Window!
- Creating Your First Macro From Scratch
- Adding a Secondary Command. . .
- Debugging in Excel VBA
- Saving a Macro-Enabled Workbook (.xlsm)
- Before You Begin The Exercises
- Exercise 01 – Question
- Exercise 01 – Answer
- Several Ways to trigger your Macro
- Affecting Multiple Cells with One Range Command – 2 Methods
- Adding Strings of Text to a Cell
- Using a Named Range with the Range Object
- Range Object Quiz
In the second section, we’ll go in-depth about all the properties and methods you need in order to manipulate one or more cells. You can change the font size, color, bold or italic, but also set formulas or format cells easily using VBA!
- .VALUE Property
- .TEXT Property
- .ROW and .COLUMN Properties
- .SELECT Property
- .COUNT Property
- Exercise 02a – Question
- Exercise 02a – Answer
- .ADDRESS Property
- .FORMULA Property
- .NUMBERFORMAT Property
- FONT.BOLD, UNDERLINE or ITALIC Properties
- Exercise 02b – Question
- Exercise 02b – Answer
The Cells Object
Section three explores the differences and similarities between accessing a cell through the Range object and the new Cells object, which can now access cells using row, column coordinates! This is useful when utilizing numeric loops and variables in the next sections.
- The Cells Object
- Using Column Letters instead of Numbers
- Using Cells Positionally within a Range
- Affecting ALL Cells in a Worksheet
- Exercise 03 – Question
- Exercise 03 – Answer
- Using Range Object with Cells Object
- Cells Quiz
Variables open up the possibilities in any programming language. You don’t have to store information in worksheet cells every time. Sometimes it’s better to store a date, string of text or even numbers inside of ‘nicknames’ called variables to contain or manipulate temporary data. They’re super fun and useful!
- Intro to Variables
- Declaring Variables – Variable Types
- Declaring Variables – Types Demo
- Concatenation – Joining Two Or More Strings!
- BONUS – Date Math Fun!
- Exercise 04 – Question
- Exercise 04 – Answer
- Calling a Procedure from Another
- Public and Private Variables
- Using Constants
- BONUS! Passing Variables to Another Procedure – ByVal and ByRef
- Variables Quiz
Toolbars and Menus
You’re no better than your tools, so let’s take a look at the Visual Basic Editor and all the wonderful things you can do once you know how to use it!
- File Menu walkthrough
- Edit Menu walkthrough
- View Menu walkthrough
- View Menu2 – Watch Window, Locals Window and Immediate Window
- Watch Window Wonders!
- Insert and Format Menus
- Debug Menu (Important!)
- Run and Tools Menus
- Toolbars Quiz
Super Important Tools and Excel Logic
This section covers all the tricks you’ll need to begin automating and really setting your programs in motion. Enjoy deliciously exciting experiments into IF/THEN statements, to create a fork in your procedures based on custom conditions. Learn how to determine the last row or column in order to set a cell section OR even to know which is the next row to automatically add new data to. That and much more!
- Determining the Last Row in your Data Set
- Determining the Last Column in your Data Set
- Determining the Next Row in your Data Set
- Recording a Macro
- BONUS! – Dynamic Sorting!
- Absolute vs Relative References
- Using With and End With
- Comparison Operators in Excel VBA
- If Then Statement
- Using Is Not Equal To (<>)
- Logical Operator, NOT
- Exercise 06a – Question
- Exercise 06a – Answer
- If, Then, Else Statement
- If, Then, ElseIF Statement. . .
- Comparitive Operators with Text and Numbers!
- Use If Then Statements in a One-Liner of code
- Using GOTO and Labels
- Select Case as Alternative to IF THEN Statements
- Message Box with Yes and No Buttons
- Exercise 06b – Question
- Exercise 06b – Answer
- Relative Positioning using Offset
- BONUS – User Defined Functions 101
- BONUS – UDF Lesson 2
- Super Important Info Quiz
Loops and Report Writing Basics
Learn how to loop through a data set to go way beyond the scope of a simple VLookup type search. How about searching AND making changes, or grabbing several items along the way based on custom criteria? Sound difficult? It’s a breeze. Check it out!
- Intro to Loops; the For Next Loop
- Fun with our For Next Loop
- Beginning our first Report using Loops
- Using an InputBox
- Adding InputBox to Our First Report to make it Dynamic
- Add a Button to Open Our Report
- Add a Cool Looking Button or Image to Open Report
- Our First Printable Report part 1 – Declaring and Setting the Sheets
- Printable Report Part 2 – Getting Items On Report Sheet
- Printable Report Part 3 – Clearing Last Report
- Printable Report Part 4 – Ensuring Visibility and Autoselect Report Sheet
- Exercise 07a – Question
- Exercise 07a – Answer
- Using PrintPreview Automatically
- Using PrintOut to Send Directly to Default Printer
- Handling Debug Error When Cancelling InputBox
- For Loop Going Backwards using STEP
- The FOR EACH Loop
- FOR EACH Loop – Practical Examples
- Exercise 07b – Question
- Exercise 07b – Answer
- Intro to DO LOOPS
- DO Until
- Loop Until
- DO While
- Loop While
- EXIT DO – Multiple Exits using your own Criteria along the Way!
- BONUS – Loop Through Multiple Files in a Folder and Scrape Data From Each
- Loops and Reports Quiz
EVENTS: Worksheet Events made Easy
Learn all about Worksheet Events – triggers made from within a specific worksheet. You can trigger a macro to run when a certain cell or group of cells are clicked, double clicked, or maybe when a sheet is de-selected, you need it to auto-hide? Need to prevent users from adding a new sheet? This is going to be fun!
- Intro to Worksheet Events and Selection_Change
- Worksheet Activate Event
- Worksheet Deactivate Event
- BeforeDelete Event – for Worksheet Deletion
- BeforeDoubleClick Event – Trigger a Macro when Double Clicking
- BeforeRightClick Event – Trigger a Macro when Right-Clicking
- Calculate Event
- Exercise 08a – Question
- Exercise 08a – Answer
- How to Disable Events on the Workbook
- Intro to Change Event
- Change Event with EnableEvents toggle – Avoid endless loop!
- Change Event Triggered with Custom Range Using Intersect
- FollowHyperlinks Event
- Final Thoughts on Worksheet Events and Review Other Events
- Exercise 08b – Question
- Exercise 08b – Answer
- Worksheet Events Quiz
Did you know you could set up macros to trigger based on workbook wide events?!
Want to invisibly log the user’s name and date/time every time the workbook is opened? Make a special popup messagebox appear on certain or all sheet changes. Workbook events are powerful.
- Workbook Open
- Workbook Activate
- Before Save
- After Save
- Before Close
- Before Print
- Exercise 09 – Question
- Exercise 09 – Answer
- Sheet Activate
- Delete, DoubleClick, RightClick, Calculate, Change
- Follow Hyperlink
ActiveX Controls on Worksheets
Adding CommandButtons, ComboBoxes (dropdown menus), ListBoxes, and many other ActiveX controls can really make your program POP! There’s a lot you can do with these, and each one has many, many triggers you can manipulate. Want to select ALL the text in a textbox when you click into it? Want to automatically Disable and gray out certain controls when conditions are met? Want to set up data entry and calculation on button click (but first to check a few conditions?).
Meet your new best friend. ActiveX Controls.
- Activex Controls vs Forms Controls
- Button Click – Wage Calculator
- Keydown Event
- BONUS: Capturing Shift, Alt, Ctrl or some combination using the Shift variable
- KeyPress Event
- MouseMove Event
- MouseMove Event with Application.Statusbar – fun and useful
- MouseUp and MouseDown Events – Left, Middle, & Rightclick, Shift, Alt & Ctrl
- GotFocus and LostFocus Events
- Use a Checkbox for its VALUE
- Checkbox Event Without a Button
- LinkedCell Property with a Checkbox
- Option Buttons Intro – What is an Option Button and Grouping
- Grouping, Alignment and Aesthetics for Controls
- Homemade Quiz using Option Buttons and a Command Button
- Compliance Checker for your Forms or Quizzes Part 1
- Compliance check part 2
- SpinButton with Cell A1
- SpinButtons with Textboxes and Numbers
- SpinButton BONUS – Move Textbox Position with SpinButton
- SpinButton with Dates in a Textbox
- Activex “Label” Control – Basics
- ComboBox – Fill with ListFillRange
- Creating a Dynamic Range
- ComboBox – How to use Multiple Columns
- Using .ADDITEM to Get Specific items in your Combobox List
- Noteworthy Properties of a Combobox
- Multiple Columns in Combobox with .ADDITEM and List, ListCount etc
- ListBox Basics using Dynamic Range
- Listbox Click event and Dynamic Options
- BONUS – Manipulating and Using Multiselect Items in a Listbox
- ListBox – Referencing Column 0 and 1 in a cell Dynamically!
- Dynamic ListBoxes Using .ADDITEM and More
- Make and Utilize INVISIBLE Columns – Special Trick!
- Using a Scroll Bar on a worksheet
- Pictures on a Worksheet, plus using FollowHyperlink Method
- Toggle Button
- A Brief Note on Alternate, 3rd Party Controls
Userforms - the best thing. EVER.
If it sounds like I’m enthusiastic, that’s because I AM! Userforms can take your program to the next level, giving you a new profound amount of control.
Did you know you can make a form popup that can call up other forms, control all procedures and bring up reports, all the while hosting lots of ActiveX controls that help you manage, manipulate, update or append new data. Keeping in mind, you can actually edit or add to sheets that are completely hidden to the end user! WHAT?! Yep. It’s amazing and so much fun.
- Userform – Hide, Show and Unload
- Sample Database and Creating a Data Entry Form
- Fill Status combobox with Rowsource when Userform starts – 2 methods
- New Employee Data Entry Form!
- Format Textbox Numbers as Numerals, Clearing out Form upon Submission
- Set the Tab Order for Userform Controls
- Set Default Values to Make Data Entry Easier
- Avoid Duplicate Employee ID and other Fun Automation Tricks
- Edit Mode for Employee Database – Part 1
- Edit Mode for Employee Database – Part 2
- Edit Mode Pt 3 – Adding Automation and Save Button
- BONUS – Refreshing the RowSource After Updating Data!
- BONUS – Combobox by Last Name Instead of EmpID
- BONUS – Search Name and ID
- Userform Report with Filters – Part 1
- Userform Report with Filters – Part 2
- Applying the Dynamic Filters to Reports
- Clear out Last Report
- Report Generation and Aesthetics, Headers, Footers, Repeat Rows etc.
- Advanced Exercise – Review of Objectives
- Advanced Exercise 01 – Solution
- Advanced Exercise 02 – Solution
- Advanced Exercise 03 and 04 – Solutions
- Advanced Exercise BONUS A and B – Solutions
- Advanced Exercise BONUS C Automate the Workflow for Efficiency – Solutions
- Concluding Thoughts. . .
BONUS Section - VBA Functions
Here’s where I show you some additional features that are just amazing, but don’t always have a nice place to file away. Or I got asked a random question and it merited a video in the Bonus section. Fun!
- InStr Function – Search for Text Within Other Text
- The EVALUATE Function – Mac-Daddy of all functions
- Sum Function in Excel VBA – EASY!
- Count Function in VBA
- BONUS LECTURE
Show off your new skills: Get a
certificate of completion
Once the course is over, pass a test to earn an Excel VBA certification.
Add it to your resume, your LinkedIn profile or other professional profiles.
The ExcelVbaIsfun guarantee:
- 30-day no questions asked money back period
- Use your new skills immediately as you learn.
Lifetime Access for a one-time fee
All courses come with a 30-day money back guarantee.
What REAL Students Are Saying…
… The best part of it is that Dan is extremely interactive with everyone that takes the course. If you have questions he gets back to you immediately and he’s always willing to help you… I reached out to him about help with a project I’m doing at work and he’s gone above and beyond to make sure that my project got done and all my questions got answered. I would definitely highly recommend the course, it’s really great – especially if you’re a beginner programmer. I took the course without knowing anything about programming and I just wanted to improve my Excel skills for the project that I was working on and to improve the over all spreadsheet itself. It’s a great course and I highly recommended. Dan is a great instructor for it.
I admit I was a little bit skeptical at first that there could be a course on a high-level topic like this that would be both accessible to newbies and could really engage with more experienced Excel users without really pulling them through a slog. I feel like I fell right in the middle of those two categories.
I really love the course! I still have a few more lectures and sections to go but I’m still working through them. It’s really really intuitive, it’s really easy and dare I say even fun to watch sometimes. Again – can’t overstate how helpful it’s been and I really looking forward to whatever you do next so keep up the good work.
Become an Affiliate
Terms & Conditions