25,000+ Courses Nationwide
0345 4506120

VBA Programming Introduction

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.

Select specific date to see price, venue and full details.

Learning Objectives

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


Recommended Experience:

  • Familiarity with Microsoft Office applications


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

Course Content

Course Outline


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
  • Utilising the FileDialog object and Dialogs collections

Creating customised 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

Related Courses

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


We work with the best