Free Course Image Excel VBA Programming Training Course for Beginners

Free online courseExcel VBA Programming Training Course for Beginners

Duration of the online course: 9 hours and 18 minutes

New

Free beginner Excel VBA course to automate spreadsheets with macros, loops, variables, input boxes, ranges, and error handling in real projects.

In this free course, learn about

  • Getting Started with the VBA Editor and Macros
  • Debugging Basics: Stepping and Breakpoints
  • Running Macros from Excel: Buttons, Shortcuts, and Shapes
  • Core VBA Concepts: Objects, Properties, Methods, and Help
  • Navigating Excel with VBA: Cells, Ranges, Sheets, and Workbooks
  • Decision Making in VBA: If, Select Case, and Logical Operators
  • Loops in VBA: Do Loops and While/Until
  • Variables, Scope, Parameters, and Functions
  • User Interaction: MsgBox and VBA InputBox
  • Advanced Input: Application.InputBox and Range Selection
  • Collections and Looping Through Excel Objects
  • Error Handling in VBA

Course Description

Excel VBA Programming Training Course for Beginners is a free online course designed to help you start automating spreadsheets with confidence. Built for complete beginners, it guides you from setting up the editor and writing your first procedures to running macros reliably and understanding what to do when things go wrong.

You will learn practical coding habits for working inside Excel, including stepping through code, using breakpoints, and saving and organizing your work. The course also shows how to trigger automation in real-world ways, such as using worksheet buttons, shapes, and keyboard shortcuts, so your solutions are easy to run and share.

As you progress, you will work with the Excel object model to select cells and ranges, move between worksheets and workbooks, and build dynamic selections using tools like End and Offset. You will also strengthen your programming fundamentals with decision making and logic, covering If structures, ElseIf, Select Case, and useful conditional functions, along with core looping patterns for repeating tasks efficiently.

The training explains variables and scope, introduces object variables, and demonstrates how to pass parameters into procedures and functions, including returning values and object references. You will practice creating interactive macros with message boxes and input boxes, capturing user choices, validating inputs, and preventing common type mismatch issues. Finally, you will learn to work with collections and ranges using For Next and For Each loops, and add robust error handling strategies to make your VBA code more stable and easier to troubleshoot.

Course content

  • Video class: Excel VBA Online Course - 1.1.1 Preparing to Write Code 05m
  • Exercise: Which action creates the most common container used to store VBA code in an Excel workbook?
  • Video class: Excel VBA Online Course - 1.1.2 Writing a Basic Procedure 11m
  • Video class: Excel VBA Online Course - 1.1.3 Saving Your Code 04m
  • Exercise: Which file type should you choose to save a workbook that contains VBA code so the macros are kept?
  • Video class: Excel VBA Online Course - 1.1.4 Running a Procedure 02m
  • Video class: Excel VBA Online Course - 1.1.5 Dealing with Problems 08m
  • Exercise: Which type of VBA error occurs only when the code is actually running and can be investigated by clicking the Debug button to highlight the problem line in yellow?
  • Video class: Excel VBA Online Course - 1.2.1 Stepping Through Code 05m
  • Video class: Excel VBA Online Course - 1.2.2 Using Breakpoints 03m
  • Exercise: Which keyboard shortcut clears all breakpoints in the VBA editor?
  • Video class: Excel VBA Online Course - 1.3.1 Worksheet Buttons 04m
  • Video class: Excel VBA Online Course - 1.3.2 Keyboard Shortcuts 02m
  • Exercise: How do you start assigning a keyboard shortcut to a VBA subroutine in Excel?
  • Video class: Excel VBA Online Course - 1.3.3 Shapes as Buttons 03m
  • Video class: Excel VBA Online Course - 1.4.1 Making Things Happen 11m
  • Exercise: Which sentence structure correctly changes a property of an object in VBA?
  • Video class: Excel VBA Online Course - 1.4.2 Parameters and Arguments 10m
  • Video class: Excel VBA Online Course - 1.4.3 Using Parentheses 12m
  • Exercise: In VBA, when should you put parentheses around an argument list for a method?
  • Video class: Excel VBA Online Course - 1.4.4 Calling Procedures 08m
  • Video class: Excel VBA Online Course - 1.4.5 Getting Help 08m
  • Exercise: In the VBA editor, what is the quickest way to open the help page for the keyword your cursor is on (e.g., Cells.Find)?
  • Video class: Excel VBA Online Course - 1.4.6 The With Statement 03m
  • Video class: Excel VBA Online Course - 1.4.7 Recording Macros 07m
  • Exercise: When starting to record a macro, which choice makes the macro available whenever Excel opens?
  • Video class: Excel VBA Online Course - 2.1.1 Selecting Single Cells 06m
  • Video class: Excel VBA Online Course - 2.1.2 Selecting Multiple Cells 04m
  • Exercise: How can you select two non-adjacent blocks of cells in Excel VBA using the Range property?
  • Video class: Excel VBA Online Course - 2.1.3 Moving Between Worksheets 09m
  • Video class: Excel VBA Online Course - 2.1.4 Moving Between Workbooks 10m
  • Video class: Excel VBA Online Course - 2.1.5 Moving vs Referencing 11m
  • Video class: Excel VBA Online Course - 2.2.1 The End Property 07m
  • Exercise: In VBA, what must you add after using the End property if you want to physically move to the target cell?
  • Video class: Excel VBA Online Course - 2.2.2 Selecting an Entire List 08m
  • Video class: Excel VBA Online Course - 2.2.3 The Offset Property 05m
  • Exercise: In VBA, how do you move the selection one row down from the active cell using the Offset property?
  • Video class: Excel VBA Online Course - 2.2.4 Building a List 07m
  • Video class: Excel VBA Online Course - 3.1.1 Simple If Statements 04m
  • Exercise: In VBA, how can you prevent a macro from adding a new record when cell B2 is blank?
  • Video class: Excel VBA Online Course - 3.1.2 Block If Statements 07m
  • Video class: Excel VBA Online Course - 3.1.3 The Else Clause 04m
  • Exercise: In a VBA If...Then block, what does adding an Else clause allow you to do?
  • Video class: Excel VBA Online Course - 3.1.4 ElseIf Conditions 06m
  • Video class: Excel VBA Online Course - 3.1.5 Nested If Statements 04m
  • Exercise: In a nested IF setup for the game, what extra condition is checked inside the IF that confirms Player 1 has a higher score than Player 2?
  • Video class: Excel VBA Online Course - 3.2.1 Combining Conditions with Or 06m
  • Video class: Excel VBA Online Course - 3.2.2 Combining Conditions with And 05m
  • Exercise: Which VBA condition correctly checks whether a film score in cell B4 is between 0 and 4 (inclusive) using the AND operator?
  • Video class: Excel VBA Online Course - 3.2.3 The Not Operator 05m
  • Video class: Excel VBA Online Course - 3.3.1 The Select Case Statement 10m
  • Exercise: In a VBA Select Case block, how do you test whether a value is greater than 8?
  • Video class: Excel VBA Online Course - 3.4.1 The IIf Function 06m
  • Video class: Excel VBA Online Course - 3.4.2 The Switch Function 07m
  • Exercise: In an Excel VBA Switch function used to classify BMI into categories, why can the final condition be replaced with True?
  • Video class: Excel VBA Online Course - 3.5.1 Basic Do Loops 10m
  • Video class: Excel VBA Online Course - 3.5.2 Do Until Loops 04m
  • Exercise: In a VBA Do loop, what is the key behavioral difference between putting the Until condition on the Do line versus on the Loop line?
  • Video class: Excel VBA Online Course - 3.5.3 Do While Loops 03m
  • Video class: Excel VBA Online Course - 4.1.1 Declaring Basic Variables 09m
  • Exercise: Which VBA data type is used to declare the Weight, Height, and BMI variables when calculating BMI values?
  • Video class: Excel VBA Online Course - 4.1.2 Debugging with Variables 05m
  • Video class: Excel VBA Online Course - 4.1.3 Non Declared Variables 10m
  • Exercise: What is the main benefit of adding Option Explicit at the top of a VBA module?
  • Video class: Excel VBA Online Course - 4.1.4 Module Level Variables 07m
  • Video class: Excel VBA Online Course - 4.1.5 Public Variables 06m
  • Exercise: After moving a subroutine into a different module, how can you make variables like WeightInKilograms, HeightInMeters, and BMI accessible to procedures in all modules?
  • Video class: Excel VBA Online Course - 4.2.1 Basic Object Variables 08m
  • Video class: Excel VBA Online Course - 4.2.2 Object Variable Scope 06m
  • Exercise: How do you make an object variable available to every procedure in the same module?
  • Video class: Excel VBA Online Course - 4.3.1 Basic Parameters 09m
  • Video class: Excel VBA Online Course - 4.3.2 Multiple Parameters 07m
  • Exercise: In VBA, what must you do if you choose to use the keyword Call when calling a procedure with arguments?
  • Video class: Excel VBA Online Course - 4.3.3 Object Parameters 05m
  • Video class: Excel VBA Online Course - 4.4.1 Basic Functions 06m
  • Exercise: Why is a Function used instead of a Subroutine to generate a new random score in VBA?
  • Video class: Excel VBA Online Course - 4.4.2 Function Parameters 05m
  • Video class: Excel VBA Online Course - 4.4.3 Returning Object References 04m
  • Exercise: When creating a VBA function that returns a worksheet object reference, what keyword must be used when assigning the returned object?
  • Video class: Excel VBA Online Course - 4.4.4 Returning Boolean Values 07m
  • Video class: Excel VBA Online Course - 5.1.1 Displaying a Simple Message 05m
  • Exercise: In VBA, which MessageBox parameter is compulsory and provides the text shown in the box?
  • Video class: Excel VBA Online Course - 5.1.2 Using Multiple Lines 03m
  • Video class: Excel VBA Online Course - 5.1.3 Displaying Icons 04m
  • Exercise: Which MsgBox argument lets you choose an icon such as vbExclamation or vbCritical?
  • Video class: Excel VBA Online Course - 5.1.4 Changing the Title 02m
  • Video class: Excel VBA Online Course - 5.2.1 Displaying Different Buttons 03m
  • Exercise: Which MsgBox buttons option displays Yes and No buttons in VBA?
  • Video class: Excel VBA Online Course - 5.2.2 Capturing the Result 03m
  • Video class: Excel VBA Online Course - 5.2.3 Testing the Result 03m
  • Exercise: How can you test which button a user clicked in a VBA MsgBox that returns a result?
  • Video class: Excel VBA Online Course - 5.2.4 Setting a Default Button 03m
  • Video class: Excel VBA Online Course - 5.3.1 Displaying an Input Box 04m
  • Exercise: When you store the result of an InputBox in a variable in VBA, what data type does InputBox return?
  • Video class: Excel VBA Online Course - 5.3.2 Setting a Default Value 03m
  • Video class: Excel VBA Online Course - 5.3.3 Cancelling an Input Box 02m
  • Exercise: In Excel VBA, what value does an InputBox return when the user clicks Cancel or closes the box?
  • Video class: Excel VBA Online Course - 5.3.4 Capturing Numbers and Dates 04m
  • Video class: Excel VBA Online Course - 5.3.5 Avoiding Type Mismatch Errors 07m
  • Exercise: How can you prevent a VBA InputBox value causing a runtime Type mismatch error when storing it as a Date?
  • Video class: Excel VBA Online Course - 5.3.6 Using Variant Variables 03m
  • Video class: Excel VBA Online Course - 5.4.1 Using the Excel Input Box 05m
  • Exercise: What is the key syntax used to call Excel's specific InputBox instead of the VBA InputBox?
  • Video class: Excel VBA Online Course - 5.4.2 Setting the Return Type 04m
  • Video class: Excel VBA Online Course - 5.4.3 Cancelling the Excel Input Box 02m
  • Exercise: When an Excel Application.InputBox is cancelled, what value is returned when capturing the result in a Variant variable?
  • Video class: Excel VBA Online Course - 5.4.4 Controlling the Type of Number 04m
  • Video class: Excel VBA Online Course - 5.4.5 Capturing Dates 07m
  • Exercise: In VBA, what is a simple way to validate a user’s InputBox entry as a date before converting it?
  • Video class: Excel VBA Online Course - 5.4.6 Selecting Cell Contents 04m
  • Video class: Excel VBA Online Course - 5.4.7 Forcing Cell Selection 02m
  • Exercise: In an Excel VBA InputBox, which Type value forces the user to enter/select a valid cell reference (Range) instead of typing arbitrary text?
  • Video class: Excel VBA Online Course - 5.4.8 Returning a Range Object 04m
  • Video class: Excel VBA Online Course - 6.1.1 Collections in Excel 09m
  • Exercise: In VBA, what does using Workbooks.Count return?
  • Video class: Excel VBA Online Course - 6.1.2 Referring to Objects by Name 08m
  • Video class: Excel VBA Online Course - 6.1.3 Referring to Objects by Number 07m
  • Exercise: In VBA, what does Worksheets(3) refer to in a workbook?
  • Video class: Excel VBA Online Course - 6.2.1 Basic For Next Loops 06m
  • Video class: Excel VBA Online Course - 6.2.2 Counting Through a Collection 04m
  • Exercise: Which VBA technique lets you modify every chart in a workbook without repeating the same code for each one?
  • Video class: Excel VBA Online Course - 6.2.3 Counting Through Cells 09m
  • Video class: Excel VBA Online Course - 6.3.1 Basic For Each Loops 06m
  • Exercise: In a VBA For Each loop that processes every worksheet in the current workbook, which statement correctly specifies the collection to loop through?
  • Video class: Excel VBA Online Course - 6.3.2 Looping Through a Range 05m
  • Video class: Excel VBA Online Course - 6.3.3 Nesting For Each Loops 04m
  • Exercise: Why is the range referenced as WS.Range("A2:A5") inside the loop?
  • Video class: Excel VBA Online Course - 7.1.1 Ignoring Errors 03m
  • Video class: Excel VBA Online Course - 7.1.2 Disabling an Error Handler 05m
  • Exercise: How can you disable a custom error handler after ignoring a specific error in VBA?
  • Video class: Excel VBA Online Course - 7.2.1 Basic Error Handlers 06m
  • Video class: Excel VBA Online Course - 7.2.2 Resuming After an Error 05m
  • Exercise: In VBA error handling, what does Resume Next do after an error handler finishes?
  • Video class: Excel VBA Online Course - 7.2.3 Resuming at a Specific Line 06m

This free course includes:

9 hours and 18 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Office Productivity (Excel, Word and More)

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate