Microsoft Excel - Macros and VBA

Testimonials (254 reviews)


Premium video tutorials

Award-winning instructors

Personalized learning

Get certified

Learn at your own pace

Mobile (learn on-the-go)

Unlimited tests and quizzes

Regularly updated content


Learn to automate your most repetitive tasks at the push of a button with Excel macros and VBA. In this online course, you will learn to create powerful macros using VBA (Visual Basic for Applications) to really make Excel work for you. With no prior programming experience required, you'll have your daily spreadsheets running like clockwork to save you hours of time and boost your productivity.


  • 41 practical tutorials.
  • Understand the differences between macros and VBA.
  • Run your macro from the Macro dialog, a keyboard shortcut or worksheet button.
  • Understand the syntax and structure that make up a valid macro.
  • How VBA Objects and the Objects model relate to each other.
  • Using step vs run in entry level debugging.
  • How to create variables and assign strings, values or objects.
  • Implementing logic tests in VBA.
  • Set up looping with Do loops and Do While loops.
  • Create a VBA Message Boxes.
  • Set up an error trap in VBA to handle errors.
  • Create a User Defined Function (UDF).

Video tutorials are recorded in Microsoft Excel 2016 for PC. Learn more about how a GoSkills Excel certification can boost your career.

Want to be a more efficient Excel user? Start learning 200 of the best Excel shortcuts for PC and Mac.

Once enrolled, our friendly support team and tutors are here to help with any course related inquiries.


Skill level: Intermediate
Certificate: Yes (Excel certification)
Lessons: 41
Accredited by: CPD
Pre-requisites: Excel - Basic
Versions supported: 2016, 2019, 2021, 365
Video duration: 3h 47m
Estimated study time: 20h 30m for all materials

Accreditations and approvals



Try it!

Macros vs VBA - What's the Difference?

A brief discussion about the differences between macros and VBA, and how this course covers both.


Setting up the Macro Environment

Entry level steps to allow the user to record macros in Excel.


Creating Your First Macro

Recording a simple Macro in Excel.


File Types & Saving

A discussion on which files types support macros, and why it is critical to save your work before moving forward.


Running Macros: Using the Macro Dialog

How to run a macro from the Macro dialog.


Running Macros: Using Keyboard Shortcuts

How to run a macro from a keyboard shortcut.


Try it!

Running Macros: Using Buttons

How to run your macro from a worksheet button.


Navigating the Visual Basic Editor

Meet the Visual Basic Editor (VBE) - your coding studio.


VBA Objects & the Object Model

A discussion of the different items you'll encounter as you learn to code, and how they relate to each other.


Excel's VBA Object Model

A visual view of a portion of Excel's object model.


Where Do I Put My Code?

Examining the different code containers and where you should place your code.


Understanding Code: Macro Syntax

Looking at the different keywords and structure that make up a valid macro.


Cleaning up Recorded Code

Editing the previously recorded code in order to remove unnecessary objects.


Try it!

Step vs Run

How to step through a macro line by line in order to aid in debugging.


Using Breakpoints

How to set and use breakpoints during code development and debugging.


What are Variables?

A discussion of what variables are, and what they do for us when coding.


Creating Variables

Setting up variable dimensions and ensuring the code does so in the correct location.


Setting Variables

How to assign strings, values or objects to variables and use them in your code.


Explicit vs Implicit Variables

Why forgetting to set a simple flag can burn you in the long term.


Using the Locals Window

Working with the locals window to help you debug and explore the object model.


Using the Immediate Window

Exploring the benefits of the Immediate window for logging and querying, as well as writing when needed.


Using the Watch Window

How to use the Watch window to break code execution when variable conditions are met.


Using the Stop Keyword

How the Stop keyword can be used during code development similar to a breakpoint.


With Blocks

How "With" blocks can tighten up your code and ensure your code targets the objects you expect.


Logic Tests: If Then Else

Implementing If/Then choices in VBA.


Logic Tests: Select Case

Understanding how the Select Case construct adds another logic test to your coding arsenal.


Loops: Basic Looping with Do Loops

Basic looping including counting iterations and exiting.


Loops: Looping under Conditions with Do While/Until Loops

More advanced looping by looping while or until a certain condition is met.


Loops: Looping X Iterations with For X to Y Loops

Running a loop a set number of times.


Loops: Looping Through Collections with For Each X in Y Loops

Using a For Each loop to cycle through each object in a collection such as each worksheet in a workbook's worksheets.


Calling Other Macros

Setting up a master macro allowing you to call other macros from a single source.


Creating VBA Message Boxes

How to provide feedback to your user via the VBA MsgBox object.


Collecting Feedback from a VBA MsgBox

Identifying which button the user clicked when presented with a MsgBox in order to use their response in our code.


Collecting Feedback from a VBA InputBox

Working with the VBA InputBox to prompt the user to enter information and capture it for later use.


Forcing User Input

Forcing users to enter data when requested.


Error Types

How to trigger various errors in VBA, and what they mean.


Trapping and Handling Errors

How to set up an error trap in VBA to handle errors.


Building Error Handlers

Setting up an error handling section for your macro.


User Defined Function (UDF) Syntax

The syntax signature for a UDF and how it differs from a standard subroutine.


Creating User Defined Functions (UDFs)

Creating a UDF to return the user name.


Calling a User Defined Function (UDF)

Calling a UDF from a worksheet and from VBA.

Download syllabus