VBA (Visual Basic for Applications)

VBA is an Object-Oriented Programming Language that has been at the heart of Microsoft Office applications for many years, which has enabled programmers to enhance, automate, simplify, and easily manipulate Office Files. It is based on the VB.NET Software development environment, and utilises the same Object structure, to enable developers to bring those capabilities to Office Spreadsheets and Databases, and even to Documents and Presentations.

In the early days of Microsoft Office, an Excel spreadsheet was simply a grid of numbers, or a table of data, which you could put in a chart. An Access database was made up of Tables, Forms for Data Entry, Queries to select specific data, and Reports for output. There was a limited amount of manipulation; Access was easier to work with, but over time, in later versions, VBA became more prevalent, and much more versatile.

Nowadays, there isn't much you cannot do with Excel or Access, the Application Object model, is such a vast object hierarchy, with so much versatility, there are endless possibilities for adding wide-ranging functionality, user forms, and creating easy to use solutions.

This site will focus on the principles of using VBA, in both Access and Excel, to create dynamic applications. I have 15-years' experience developing VBA-based applications for a variety of solutions, and this site will feature explanations of the use of Objects, which objects to use, with VBA Code samples, and some example spreadsheets.