0845 450 6120

Microsoft Office - VBA Advanced

In this course you will learn the skills to enable you to use the Visual Basic for Applications (VBA) programming language to simplify or automate activities and tasks using the Microsoft Office 2007 - 2016 applications. The course covers examples in Excel, Access, Word and PowerPoint 2007 - 2016.

Please Note: Microsoft Excel 2013 is used as the primary application during the course for demonstration purposes.

Target audience
Delegates looking to gain enhanced skills to apply VBA to develop macros to work with Office applications. You will work with the application object models, manipulate data across applications and manage files and folders using VBA.


Learning Objectives

Delegates will learn how to

  • Understand MS Office Object Hierarchies and the Object Browser
  • Work within an MS Office Application
  • Use User Defined Types, Classes and Arrays
  • File and Folder Management using VBA
  • Interaction between MS Office Applications
  • Work with the Excel Range Object
  • Work with Data in Excel
  • Present Data in Excel
  • Programming in Access with VBA


  • Have attended the course Introduction to VBA in Office 2007 - 2016 or have equivalent knowledge i.e. able to write macros which include variable declarations with appropriate scope, intrinsic functions, decision making structures and repeating code actions
  • Have a working knowledge of Excel, Access, Word and PowerPoint in any of the versions 2007 to 2016
  • Understand how to create Charts, PivotTables and apply filters and sorting to data sets

Course Content

Module 1 - MS Office Object Hierarchies and the Object Browser

  • Topic A - Objects, Collections and Hierarchies
  • Topic B - Properties, Methods and Events
  • Topic C - Using the Object Browser
  • Topic D - MS Office Application Reference Libraries

Module 2 - Working within an MS Office Application

  • Topic A - VBA or Macro Recorder
  • Topic B - Special Macros
  • Topic C - Object Variables
  • Topic D - Binding
  • Topic E - Application Object Examples

Module 3 - User Defined Types, Classes and Arrays

  • Topic A - Introduction to User Defined Types (UDTs)
  • Topic B - Creating a User Defined Type
  • Topic C - Creating a Class
  • Topic D - Creating Array Variables
  • Topic E - Using Arrays in Code

Module 4 - File and Folder Management using VBA

  • Topic A - Using the FileSystemObject
  • Topic B - Handling Folders using VBA
  • Topic C - Create a Folder
  • Topic D - Move, Rename, Copy or Delete a File
  • Topic E - File or Folder Properties and Attributes

Module 5 - Interaction between MS Office Applications

  • Topic A - Classes and References
  • Topic B - Working with Objects in another Application
  • Topic C - Editing Documents across MS Office

Module 6 - Working with the Excel Range Object

  • Topic A - Range Objects Defined
  • Topic B - Referencing Ranges using VBA
  • Topic C - Dynamic Range Handling
  • Topic D - Copying or Moving Range Data

Module 7 - Working with Data in Excel

  • Topic A - Importing Data from a Delimited File or Web Page
  • Topic B - Excel and ADO
  • Topic C - Data Types or Formatting
  • Topic D - Validating Data
  • Topic E - Filtering and Sorting Data with VBA
  • Topic F - Using Worksheet Database Functions
  • Topic G - Excel Tables

Module 8 - Presenting Data in Excel

  • Topic A - Apply Conditional Formatting with VBA
  • Topic B - Working with Charts
  • Topic C - Pivot Tables

Module 9 - Programming Access with VBA

  • Topic A - Navigating the Access Object Hierarchy
  • Topic B - Understanding Access Collections
One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include