DMW logo
(t) +44 (0)1732 833085

VBA Training Courses, Workshops and Mentoring

VBA (Visual Basic for Applications) is a rich programming language. Because it’s so comprehensive there’s a lot to learn. Making the step from recording macros to editing them and to writing code from scratch will take considerable time and effort if you’re trying to teach yourself VBA.

Taking training in VBA can get you productive much sooner than if you slave away on your own, even if you have the time to do so.

When you take a course or Microsoft Office/365 Software Training Workshops, DMW guides you through the VBA you need to concentrate on to achieve the requisite programming skills for your work.

On-to-one mentoring is an effective way for you to mine DMW’s programming expertise. Your goal is approached one objective at a time, as and when a session suits your diary. Thus you avoid any sense of being thrown in at the deep on any progamming assignment.

Course and Workshop Durations

One day may suit someone already programming and wanting to fill specific gaps in their knowledge. Perhaps he or she may have recorded some macros and set about understanding the code with a view to modifying and adapting it.

Two days is average for anyone wanting a lead into VBA and structured programming for the first time.

DMW occasionally runs long VBA courses lasting a week or so. These are rare. They come out of requests from clients for the training of people who are to be programmers. For this sort of training the course content is comprehensive.

Workshops come into their own for individuals, or small groups, wanting to brush up on very specific applications of VBA. Usually these people have been tasked with developing a business tool using Microsoft Excel or a databse using Microsoft Access.

Course and Workshop Content

In arranging training, the DMW approach is to ask you:

“What are the ways in which we might use VBA to automate processes that you perform manually and repetitively at the moment?”

With your list of ways in front of us, we agree a set of topics to be covered by the training.

If you have no definite view on for what you might use VBA, then the pages Microsoft Excel VBA Training and Microsoft Access VBA Training have lists of topics covered in basic introductory courses, which you may find as useful guides.

To receive a recommendation of the topics to be covered in your training, please let DMW know to what use you think you will put VBA to your advantage.

Topics Common to All Training

There are topics that are covered in all courses: use of variables; conditional programming; looping and branching; functions and procedures; capturing user input; program structure and flow; documentation;

And DMW will always cover the topic of error handling. Without error handling there is always the risk that your VBA may cast users of your macros out into a hell of incomprehensible error messages and crashed programs.

The Nature of VBA

All the programs within Microsoft Office come with VBA. Using VBA we can make things happen within Excel, say, or we can make Excel talk to Access, Word and so on.

There are bits of VBA that are common to all the Office programs. For instance, if in Access, Excel, PowerPoint, Project or Word you need to pop up a message like this:

Example of VBA message box

You could use this VBA:

MsgBox "Are you certain you want to delete this record?", vbExclamation + vbYesNo,"DELETE CURRENT RECORD"

In addition to the common elements of VBA, each individual application has its own VBA specific to the sorts of things for which you would use it. Additionally, the VBA in Access, Excel and Word provides for interactions between these applications.

For example, if you want to address cells in a spreadsheet, then you can use the VBA built in to Excel or use the VBA in any of the other programs of Microsoft 365 on you computer.

These are examples of using VBA to make one Office app interact with another:

“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”

Bill Gates