0345 4506120

Microsoft Office - VBA Advanced

Special Notices

Please note: for Attend from Anywhere customers an additional screen is required for this course to work through remote desktop labs and view training information.

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

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

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.


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