
Learn Microsoft Excel VBA macros for beginners through simple examples and a real-world case study. Download the course files and set up your workbook to accept macros.
Activate the developer tab to work with macros, and save your workbook as an Excel macro-enabled workbook. This helps ensure the code persists when you reopen the workbook.
Explore the developer tab in Excel to access Visual Basic, view and manage macros, and learn why we delay recording macros until the end, design mode, and form controls.
Explore the VBA project view, run and stop code, and organize modules rather than worksheets. Save before running, as code and workbook save together and you cannot undo after execution.
Master code syntax in Excel VBA by learning modules, subs, macros, variable placement, and apostrophe comments to annotate code for clarity and future maintenance.
Understand how VBA code is structured with sub procedures, end sub, unique sub names, and variables across subs, and organize subs across modules while calling other subs.
Learn to format VBA code for readability by using descriptive, mixed-case sub names and variables, grouping top level variable declarations, consistent indentation and whitespace, and modular subs to reduce repetition.
Learn to reference a worksheet in VBA using its code name, create a module, and select a range, while understanding why the VBA name stays stable.
Learn to reference ranges in Excel VBA by using named ranges for dynamic workbooks. Avoid hard-coded cells and use code to select and manipulate ranges.
Learn to clear a range in Excel VBA by using Sheet8, range A5:A23, and the ClearContents method, without selecting cells to speed code, and remember macros cannot be undone.
Explore two VBA copy methods in Excel: assign a cell value from J5 to K5 without copying formulas, and program a button to trigger a direct value transfer.
Learn two methods to copy cells in Excel VBA macros: copy-paste with a range and copy destination, then learn declaring variables and using message boxes.
Learn to declare variables in VBA using Dim, assign descriptive names, and specify types like string, integer, double, or date, then reference cells such as EF5.
Declare a VBA variable as an integer, assign x_num from sheet nine f5, and use it to compute g5 as x_num times 5, while learning to step through with f8.
Learn how to create and use message boxes in Excel VBA to debug code, display prompts, and show cell values by pulling and combining data from worksheets.
Learn how to use message boxes in Excel VBA to validate computed values before writing to a sheet, using variables like x number and x answer, and to aid debugging.
Name a range and reference the named range in VBA to keep macros intact when rows or columns change, using copy range one and paste range one via sheet codename.
Learn how to declare and set range variables in VBA, creating shortcuts like c_range and p_range to streamline copy and paste operations on worksheets.
Learn how to calculate the last row in a data range with VBA, declare a last row variable, and build dynamic macros using end down and range operations.
Practice finding the last row in Excel VBA using End xlDown, then record the result in J5; compare with starting at a large row and using xlUp.
Master the VBA offset function to shift a named range by two columns, copy values between ranges, and build a dynamic worksheet that adapts when rows are inserted.
Explore if then statements and for next loops in VBA, building the foundation for automating Excel tasks. See a practical example with yes/no cells, named ranges, and a message box.
Explore the basics of if statements in VBA by building a sweater weather predictor that uses a temperature input, if-then-else logic, and message boxes, with clean indentation.
Explore how the for next loop in excel vba works with if statements to repeat actions, such as deleting rows that contain a 1, from row five to twenty six.
Master for/next loops in Excel VBA macros by iterating F5 to F26 and using a running X. Verify with a message box before changes, and keep code readable through indentation.
Learn to make Excel VBA macros dynamic by computing the last data row and a dynamic start row, and looping with a for loop without hardcoding values.
Learn to make VBA code dynamic by deleting rows in a loop, handle shifting rows, and reassess the current row to fix skipping issues.
Learn how to make VBA code dynamic by looping through rows, deleting ones, and adjusting the loop index to account for shifted data, using for next and if statements.
Learn to write and record VBA macros, organize code snippets in a notepad, and use Google to find solutions when needed.
Record a macro to automate weekly data cleanup in Excel, performing text-to-columns, inserting a row and labeling columns, and formatting dates and currency, then customize with a shortcut and description.
Explore how Excel records macros into modules with inefficient code, and learn to optimize VBA by avoiding select, using dynamic ranges, and text columns.
Learn how to refine a recorded Excel VBA macro by consolidating selections, deleting and moving rows, and applying formats, while writing manual code for efficiency and readability.
Learn to build excel vba macros that flag over budget and unused initiatives by looping through data, comparing current spend to yearly budget, and reporting results to dedicated sheets.
Learn to implement a yes/no warning message box in Excel VBA to confirm deletion of old data, integrate with a run-report button, and manage macros in a new module.
Learn to build a VBA macro that loops through data to flag over-budget items, using a for next loop and dynamic begin and end rows on sheet 16.
Implement a for/next loop with an if statement to compare D against C budgets and copy over budget initiatives to the over budget initiatives sheet, handling runtime errors.
Learn to make Excel VBA macros dynamic by computing the last used row on over budget initiatives worksheet with up and end, then copy items and display a completion message.
Repurpose existing VBA macro logic to delete old data before copying new data, and generate over budget and unused initiatives reports with a yes/no prompt.
Repurpose existing VBA macros to generate over budget and unused initiatives reports in Excel, renaming subs, deleting old data, and copying data from yearly budget (columns B–C) to sheet 18.
Review the VBA foundations: declare and assign variables, create a sub, use if then and for next loops, and work with message boxes, last row, and data copy or deletion.
Wrap up this beginner VBA course by committing to regular practice, highlighting real projects, and staying connected through free resources and social platforms like Facebook, LinkedIn, and Instagram.
By the end of this course, you will go from knowing nothing about VBA Macros to knowing how to do the most common functions...all within 3.5 hours!
Any version of Excel is supported.
Excel VBA Macros are one of the most powerful features in Excel. Why? Because Macros can help you automate almost any routine task, saving you hours and hours of time.
During this course, we start with the very foundations of VBA Macros and slowly build your quiver of knowledge. We only teach you the most important functions, functions that can help you accomplish almost any task in VBA.
Our instructors have years of experience working with leading companies (like Puma) and universities (like Harvard) to help them automate their spreadsheets. We've also taught hundreds of professionals around the U.S. these amazing skills. After all of this, we know what you need to know to get started.
Absolutely ZERO background in VBA or programming is necessary!
Some key things you’ll learn:
Learn the structure of VBA code and best practices
Create sub routines to segment your code
Declare and call variables
Create For /Next loops
Create If/Then and If/Then/Else logical tests
What makes our course so awesome?
Real world application: In depth, real-world case studies
Fun: Light-hearted, fun, and enjoyable course (we never take ourselves too seriously)
Knowledgeable instructor: Nate has spent his entire career mastering Excel, consulting companies in Excel, and teaching Excel.
No fluff: We don’t teach theory or waste your time with useless information. Everything we teach you can start applying TODAY
Let's start learning!