Preferred method of contact:

VBA Programming Introduction



Course Number



4 Days

PDF Add to WishList

In this advanced course, you gain a detailed understanding of how programming in Visual Basic for Applications can increase productivity. With this training, you learn how to automate repetitive tasks, build fully functional user interfaces, leverage tools for developing custom-built Microsoft Office solutions, and supercharge your productivity and the productivity of others.

You Will Learn How To

  • Develop custom solutions, automate tasks, and increase performance
  • Enhance the Office 2007-2016 Ribbon with new functionality
  • Exploit ActiveX controls to create functional and familiar UIs
  • Troubleshoot code using debugging tools
  • Secure your code and protect your users from macro viruses

Important Course Information

  • Recommended Experience

    • Familiarity with Microsoft Office applications
  • Software

    • This course is applicable to all versions of Office, from 2007 to 2016

Course Outline

  • Introduction

The advantages of VBA

  • An easy-to-use and versatile language
  • Integrated with off-the-shelf products

Macros: the first step

  • Recording and executing macros
  • Limitations
  • Enhancing with VBA code
  • Getting to Know the VBA Environment

The code design tools

  • Project Explorer
  • Help system
  • Code Window
  • IntelliSense
  • Properties Window
  • Object Browser

The debugging tools

  • Code stepping
  • Immediate Window
  • Breakpoints
  • Writing VBA Code

Event-driven programming

  • The role of events in Windows
  • Responding to events through event procedures

Putting objects to work

  • Properties
  • Methods
  • Events
  • Collections
  • Using With ... End With

Storing data in variables

  • How and when to declare variables
  • Selecting data types
  • Fixed and dynamic arrays
  • Constants

Conditional branching

  • If ... Then ... Else
  • Select ... Case

Looping through code

  • Do ... Loop, While and Until
  • For ... Next and For Each...Next

Building procedures

  • Creating Sub and Function procedures
  • Calling procedures
  • Passing arguments to procedures
  • Empowering VBA through the Application Object Models

Understanding object model structures

  • Exploring the hierarchy with the Object Browser and Help
  • Referencing specific objects

Writing application-specific procedures

  • Key objects within Excel, Word and Outlook
  • Creating templates and add-ins

Exploiting the power of Automation

  • Controlling one Office application while working in another application
  • Accessing data in databases using ActiveX Data Objects
  • Building Intuitive User Interfaces

Using intrinsic dialogs

  • Communicating with the user through the message box
  • Gathering user information with the input box
  • Utilizing the FileDialog object and Dialogs collections

Creating customized dialogs with UserForm objects

  • Command buttons
  • List and Combo boxes
  • Labels
  • Option buttons
  • Check boxes
  • Text boxes
  • Frames
  • Adding more functionality with advanced ActiveX controls

Modifying menus and toolbars

  • Simplifying user interaction with the CommandBar object
  • Adding and removing CommandBarControl objects
  • Providing a Safe and Secure Environment

Handling runtime errors

  • The On Error GoTo structure
  • Classifying errors with the Err object
  • Executing with Resume, Resume Next or Resume label

Implementing security

  • The dangers of macro viruses
  • Macro security levels in Office
  • Applying digital signatures to macros
  • Password-protecting your VBA code
Show complete outline
Show Less

Convenient Ways to Attend This Instructor-Led Course

Hassle-Free Enrolment: No advance payment required to reserve your seat.
Tuition due 30 days after you attend your course.

In the Classroom

Live, Online

Private Team Training

In the Classroom — OR — Live, Online

Tuition — Standard: $3285   Government: $2890

Oct 1 - 4 ( 4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

Nov 5 - 8 ( 4 Days)
9:00 AM - 4:30 PM EST
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Jan 21 - 24 ( 4 Days)
9:00 AM - 4:30 PM EST
Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

Mar 31 - Apr 3 ( 4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

May 5 - 8 ( 4 Days)
9:00 AM - 4:30 PM EDT
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Private Team Training

Enrolling at least 3 people in this course? Consider bringing this (or any course that can be custom designed) to your preferred location as a private team training.

For details, call 1-888-843-8733 or Click here »

This event has been added to your cart.




In Classroom or





Private Team Training

Contact Us »

Course Tuition Includes:

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online any time after class.


Training Hours

Standard Course Hours: 9:00 am – 4:30 pm
*Informal discussion with instructor about your projects or areas of special interest: 4:30 pm – 5:30 pm

“I really appreciated the way we online students were able to participate in the VBA programming class via AnyWare. It did not feel at all like we were thousands of miles away!”

- Y. Freeman, Director of Marketing Operations
Macy’s Inc. Software

Chat Now

Please Choose a Language

Canada - English

Canada - Français