VBA (Visual Basic for Applications) enables you to enhance and extend the capabilities of Microsoft Excel and other applications in the Microsoft 365 application suite. You can use VBA to perform tasks that would be difficult or impossible to do using only worksheet functions, and you can automate a wide range of tasks involving the collection, processing, analysis, and visualization of data. This course will give you a good foundation for understanding, creating, and using VBA in your own Excel workbooks, show you how to work with data across different applications, and how to package the macros and functions you create so you can back them up, move them to other computers, and share them with other users.


* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

In this course, you will develop and deploy VBA modules to solve business problems. You will:
Identify general components of VBA and their appropriate use in solving business solutions.
Record VBA macros to automate repetitive tasks.
Use reference tools built into Excel to get help on VBA programming language and objects used in the Excel VBA environment.
Write VBA code to create a custom worksheet function.
Eliminate, avoid, or handle errors in VBA code, and optimize its performance.
Control how and when macros run.
Develop UserForm objects to create custom dialog boxes and windows.
Use VBA to read and write data from local files and cloud services.
Use VBA to clean and transform data.
Run programs and commands outside of Excel and share VBA projects with other users.

  • Using VBA to Solve Business Problems

  • Use Macros to Automate Tasks in Excel
    Identify Components of Macro-Enabled Workbooks
    Configure the Excel VBA Environment

  • Automating Repetitive Tasks

  • Use the Macro Recorder to Create a VBA Macro
    Record a Macro with Relative Addressing
    Delete Macros and Modules
    Identify Strategies for Using the Macro Recorder

  • Getting Help on VBA

  • Use VBA Help
    Use the Object Browser to Discover Objects You Can
    Use in VBA
    Use the Immediate Window to Explore Object
    Properties and Methods

  • Creating Custom Worksheet Functions

  • Create a Custom Function
    Make Decisions in Code
    Work with Variables
    Perform Repetitive Tasks

  • Improving Your VBA Code

  • Debug VBA Errors
    Deal with Errors
    Improve Macro Performance

  • Controlling How and When Macros Run

  • Prompt the User for Information
    Configure Macros to Run Automatically

  • Developing Custom Forms

  • Display a Custom Dialog Box
    Program Form Events

  • Using VBA to Work with Files

  • Use VBA to Get File and Directory Structure
    Use VBA to Read Text Files
    Use VBA to Write Text Files

  • Using VBA to Clean and Transform Data

  • Automate Power Query
    Transform Data Using VBA and Workbook Functions
    Use Regular Expressions
    Manage Errors in Data

  • Extending the Programming Environment Beyond the Workbook

  • Run Other Programs and Commands
    Share Your VBA Projects


This course is primarily designed for students who want to gain the skills necessary to use VBA to automate tasks in Excel such as collecting data from external sources, cleaning, and manipulating data. The target student may also want to learn how to create custom worksheet functions to streamline worksheet formulas and make complex worksheets easier to support, maintain, and understand.




To ensure your success in this course, you should be an experienced Excel user who is comfortable creating and working with Excel workbooks, including tasks such as entering worksheet formulas, using absolute and relative addressing, formatting cells, and creating pivot tables and charts. This level of skill could be acquired by taking the Microsoft Excel for Office 365 (Desktop or Online) courses, Parts 1, 2, and 3


Length: 3.0 days (24 hours)


Not Your Location? Change

Course Schedule:

Schedule select
9:00 AM ET -
5:00 PM ET
Schedule select
9:00 AM ET -
5:00 PM ET
Schedule select
9:00 AM ET -
5:00 PM ET