Microsoft Excel VBA for Beginners - Learn VBA Step by Step
4.4 (171 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
13,429 students enrolled

Microsoft Excel VBA for Beginners - Learn VBA Step by Step

Serious about learning VBA for Excel? This course makes learning VBA easy. Jump in and master Microsoft Excel VBA today!
Highest Rated
4.4 (171 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
13,429 students enrolled
Last updated 6/2020
English [Auto]
Current price: $79.99 Original price: $114.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 1 article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn Excel VBA from beginner to advanced skills
  • Use VBA to save time by automating tedious tasks
  • Get valuable hands-on experience so you can use VBA in your daily work
  • Students should have a good basic understand of how to use Excel
  • No previous coding or VBA experience is needed

Welcome to the Excel VBA Programming Course for Beginners. If you need to learn how to program VBA for your job or for yourself, this course was designed for you!

You'll start with the very basics of understanding what VBA is and what it does. You'll learn how to install VBA and record your first macro. Then, you'll progress to learning all of the essential terminology as you create your own functional VBA modules. By the end of this course, you'll be able to create your own user forms that other users can interact with and enter data into, and you'll be able to troubleshoot and debug your code, make it run faster, and even create your own custom Excel functions.

The beauty of VBA is that when you learn to master it, you can program Excel to do the work for you.

Using VBA, you can save a ton of time for your organization by automating repetitive and tedious tasks.

VBA isn't exactly easy, but it's one of the simplest and easiest to learn programming languages. It's like the gateway drug that gets you hooked on programming. And in this course, I'll walk you through the initial learning curve to give you a solid foundation from which to launch your programming skills.

This is a very detailed course and you will walk away with a vastly expanded vocabulary and a full toolbox of VBA programming skills.

The truth is, you could  teach yourself VBA using free articles and videos on the internet. The challenge is that VBA can be hard to learn without the right info and the right examples. It's easy to waste a lot of time learning things that aren't useful in the real world. By following this course, you'll get clear, step-by-step guidance along a relevant and valuable learning path to master the essentials of Excel VBA.

I have a lot of personal experience learning and using VBA as an engineer and I'm very excited to pass that knowledge on to you! Ever since my days as a college tutor, I've loved teaching and helping people learn challenging subjects. So, if you're ready to learn how to start programming in Excel VBA, I'm excited to show you how!

Thanks for checking out the course and I'll see you in the first lesson.

By the way, did I mention that Udemy has a 30-day money back guarantee? That's right. You can take the whole course, and if in those first 30 days you don't feel like you're actively getting better at using VBA, you can get a full refund. So, you really have nothing to lose. Dive in and start learning Excel VBA today!

Who this course is for:
  • Beginning VBA users with no prior VBA experience
  • Intermediate Excel users who are ready to super charge their efficiency
  • Anyone who needs to add valuable job skills to become more competitive in the workplace
Course content
Expand all 40 lectures 05:32:06
+ Introduction to VBA in Excel
6 lectures 21:07

In this video you'll learn a little about why I'm here teaching you, how VBA is helpful in making your work in Excel more efficient, and some tips for getting the most out of this course.

Preview 02:07

In this lecture you will learn when you use VBA and how it can be helpful for speeding up your work in Excel.

Preview 04:34

This video will teach you how to set up VBA in Excel so that you have VBA available to use in your workbooks. This includes activating the Developer tab in your Excel ribbon.

Preview 05:04

Let's dive into the basics of VBA. This video covers the VBA window itself, what the various buttons do, what a module/form is, and how to search the object library.

Preview 04:34

This video shows you how to record a macro to quickly automate short procedures or get an example of what the code might be for a particular action. This is where the fun begins.

Preview 04:23
3 Valuable Help Resources
+ VBA Basics - Getting Started
9 lectures 01:19:40

This video covers how to create a subroutine and the differences between public and private subs.

Preview 04:25

This video will teach you the different types of variables (string, integer, long, etc.) and what they are.

Variable Types

This lecture will teach you how to declare a variable as well as the difference between global and local variables.

Declaring a Variable

This video will show you how to build message/alert boxes for the user to interact with, how to change the buttons on those boxes, how to use input boxes, and how to turn off alert messages.

Creating Dialogs

In this video you'll learn what Arrays are and what we use them for.

Introduction to Arrays

A static array has a pre-set size, meaning we tell the system how many items to expect in that list. They are useful when you know ahead of time exactly how many data points you will have.

Static Arrays

Dynamic arrays will grow or shrink to accommodate however much data you have in your code.

Dynamic Arrays

Multi-dimensional arrays allow you to put multiple columns or rows into one array in your VBA code.

Multi-Dimensional Arrays

In this video you'll learn how to create a GUI, or Graphical User Interface, for your user to interact with so they aren't getting into your code.

+ File Interactions in VBA
7 lectures 01:14:56

Object hierarchy describes which objects take priority over other objects in Excel VBA.

Object Hierarchy

In this lecture you'll learn about the workbooks and worksheets objects in Excel (e.g. how to switch between workbooks/worksheets or save them).

Workbooks - Part 1

In this lecture you'll continue to learn about the workbooks and worksheets objects in Excel.

Workbooks - Part 2

In this lecture you'll learn about worksheet objects. Worksheet objects allow you to add, delete, rename and do other actions to your worksheets within your Excel workbook using VBA.

Worksheet Objects

In this lecture you learn how to pull data from the Excel file or how to write new data to the Excel file using VBA.

Reading and Writing Data

In this lecture you'll learn the importance of tables and how to name and use them to prepare for use in VBA.


In this lecture you'll learn about adding/deleting columns and rows and other basic table interactions using VBA.

Table Interactions
+ Operations in VBA
2 lectures 21:31

This lecture covers the basics of how to work with numbers and perform math in VBA correctly and accurately.

Math Manipulation

This lecture covers the basics of text in VBA and how you can manipulate text strings to limit them, search within them, or combine them.

String Manipulation
+ Procedures in VBA
2 lectures 12:13

Creating and calling subroutines is all about work flow management. In this video you'll learn how to break up your code in a way that makes it easier to use and easier to edit.

Creating and Calling a Subroutine

There is a pair of parentheses next to your subroutine that you can place information into, like a variable or a string, that will then pass into your sub. You'll learn how to do that in this video.

Passing Arguments
+ Loops and IF Statements in VBA
3 lectures 21:55

In this lecture you'll learn about the various types of loops (such as For Each/Next or Do Until) as well as If-Then statements and what they do in VBA.

Types of Loops and If Statements

In this lecture you'll learn about the use of With/End With to quickly work with the same set of properties without having to continually retype the object hierarchy.

With/End With

This video goes through examples of the different types of loops and how you might use them in practice.

Loop Examples
+ Forms in VBA
4 lectures 50:12

In this lecture, we'll walk through the various types of controls that appear on a form and what they do/mean.


This video demonstrates the different properties that are associated with each control, including tab order.


This lecture goes over how to open up the form code window and what features you can build into your form.

Form Code

This lecture shows how to build list/combo boxes and how to pre-load values and lists into your form when it opens.

Loading a Form and Preparing Lists
+ Speeding Up Your Code in VBA
1 lecture 08:43

This video covers quick fixes and rules of thumb for helping your code run quickly and efficiently.

Speeding Up Your Code
+ Debugging and Testing Your VBA Code
3 lectures 22:09

This video goes over the most common types of bugs and how you might recognize them in your code.

Error Types

This video will cover the intrinsic debug tools built into VBA like the stepping through code via breakpoint, watch windows, stepping through your code, etc.


This video covers the various error statements you can use in VBA to catch and address errors your code encounters to communicate to the user what the problem might be and make a decision about whether or not to finish executing the code.

Error Handling
+ Advanced VBA
2 lectures 17:28

This lecture discusses custom functions in Excel and how to build custom workbook functions using VBA.

Custom Functions

This lecture shows you how to build events into your workbook file to run macros automatically in the background (such as when a certain cell is changed, when a cell is double clicked, etc.)

Custom Events