dmw | consultancy
tel 01732 833085
tonbridge · kent · UK

Excel VBA Programming Courses

These are the courses for Excel developers who want an appreciation of the Excel version of VBA (Visual Basic for Applications) and its use in enhancing spreadsheet operability.

The courses suit anyone who has been recording macros and now wants to gain more control over automation of their spreadsheets than recording alone provides.

For anyone already into writing their own VBA code, DMW will adapt and extend course content accordingly.

Course Duration

Two days on-site, for a starter course, each day lasting from 9:30am to 4:30pm.

VBA is an extensive programming language. The ambitious, and those with big spreadsheet models requiring highly refined VBA modules, should consider anything up to five days to become aware of full scope of VBA syntax.

Course Pre-requisites

Skills in using Excel to a level that would be achieved by completing our Intermediate and Advanced Excel training courses.

Course Content

Topics may include those listed below and you may specify others to suit your objectives.

Power users already into hard-coding VBA will know there is a lot more to VBA than is suggested by the list below. For them DMW will cover in depth syntax of relevance to their particular projects and ambitions.

Recording Macros

Why and when to record
Editing recorded macros

Excel VBA

Using the Visual Basic Editor
VBA syntax
VBA help
Objects and object hierarchy.

Procedures and Functions

Sub procedures
Function procedures
Calling procedures
Use of Immediate Window to test code
Organizing code and procedures.


Relevance of references
Potential pitfalls
Managing References.

Working on Properties

Distinguishing Properties
Influencing properties
Using With...End With statements.

Working with Methods

Distinguishing Methods
Applying methods.


Style and conventions
Setting up modules

Variables and Constants

Declaring variables
Variable data types
Variable scope and lifetime
Local and global constants.


Creating a function
Using a function

Capturing User Input

Message boxes
Input boxes
Custom dialog boxes.

Program Execution Control

Program flow
Boolean expressions
If...Else...End statements
Select Case...End Select statements
For...Next statements
For Each...Next statements
Do...Loop statements.

Range Object

Addressing cells
The active cell
Range offsets
Doing things to cells
Doing things with cells.

Worksheets and Workbooks

Addressing worksheets
Addressing workbooks.

Ribbon Customisation

Introduction to the skills
How far you can get with VBA.

Debugging Code

Understanding Errors
Using debugging tools
Testing and evaluating expressions.

Error Handling

Purpose of error handling
Essential error handling
VBA error object
Trapping and responding to errors
General-purpose error handling code.

“The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.”

Seymour Cray