Learn VBA Programming in 2022 (2024)

by Philipp Stiefel, originally published 2022-04-15, last revision on 2022-04-15


Learn VBA Programming in 2022 (1)

Visual Basic for Applications, VBA, is a programming language included in Microsoft’s Office applications, such as Microsoft Word, Excel, Access, and Outlook and also in a couple of products from other vendors like Corel Draw and Autodesk AutoCAD.

It is known as “Macros” particularly in Excel and Word and can be used to automate processes and workflows in the documents of these applications. In combination with the built-In User Forms or in Microsoft Access, VBA can also be used to create complex custom applications with their own user interface.

As a user of Microsoft Office applications in a professional context it might be a good idea to familiarize yourself with the VBA programming language and learn how to use it to accomplish some programming tasks with it, even if you feel no desire to pursue a career in software development.

But is all this still relevant today? – Yes, absolutely!

VBA is certainly not the most modern programming language, but due to the huge prevalence of Microsoft Office it is still a very relevant language in the year 2022. Even though Microsoft introduced a new, modern Java Script API for Office Add-ins in the cloud at Microsoft 365, which has the advantage of running in the cloud, VBA still is vastly superior in the context of the desktop client applications. When local components, files, and processes outside of Office documents are involved is the prime choice for Microsoft Office automation. This will remain unchanged for the foreseeable future.

Now, let’s look at 5 reasons to learn VBA today.

1. Automate Recurring Processes

Learn VBA Programming in 2022 (2)

Does your daily work involve repetitive processes that you perform manually every day? E.g., you download a data file from a website, import the data into an Excel spreadsheet, run calculations in the sheet, then print the results to an PDF and email that to your team or your boss? – After a while you’re probably so familiar with the process that you can complete it in very few minutes.

What if you could do all the above in mere seconds by just clicking a single button?

VBA can be used to automate this process so that it can be run any time instantly and repeatedly. Some parts of the process can be easily recorded as a macro using the built-in macro recorder of Excel. Other parts will require some more advanced knowledge and manual coding (aka programming). But all of this can be automated with VBA in one way or the other.

If you have multiple such processes you need to perform regularly, VBA can save you a lot of time, which you then can direct to other more rewarding tasks.

2. Build Custom Applications

You can build whole applications in Microsoft Access. Of course, this has some overlap with automating processes in other Office applications. The difference between a custom application and a macro is primarily the user interface. An application has its own user interface which will be the primary or even only UI a user of the application interacts with, even if this custom application runs within the context of a Microsoft Office host application.

This user interface will guide the user and enable him to view and enter data and to run any number of automated processes working with that data. The users can generate and process Excel spreadsheets from a custom application running inside word, or they can send emails from a custom application running inside Microsoft Access. Particularly with Microsoft Access you can generate custom, data driven desktop applications that can compete well with applications created with other programming languages, such as the .Net language family, Pascal/Delphi, or C++.

Being able to create such applications enables you to support your department or even your whole business with tailor-made tools to structure, streamline and optimize lots if not all the daily work and processes.

3. Learn to Analyze and Design Processes

Learn VBA Programming in 2022 (3)

There is something else you will most likely learn “on the side” while learning programming. You’ll learn to analyze processes! This can (and most likely will) happen on multiple different levels. To automate any process, you first need to understand that process. What is its starting point? What are the inputs e.g., existing files and documents, user entered values, data in external systems? What are the results the process must produce? This can again be files, records in a database, an email, or a user action, like making a phone call.

Researching and analyzing the inputs and outputs of a process and determining what needs to happen in between to transform input to output will train your analytic skills. Very often, you’ll also need to understand an existing manual process. Why are things done the way they are done right now? Is this something your automation needs to reproduce or is there a better, more efficient way?

All this applies to a small individual sub-process, which will become a single macro or procedure in your VBA code. But you also need to think about how to combine, divide or link multiple of these smaller sub-processes to get the final desired result. In large custom application, there will be many of these processes that need to be designed and coordinated to work well together.

All this will give you a much deeper insight into what is going on in your business or in your department. Over time, you will also get much better in gathering, understanding, and using this information. With these skills, you can be even more valuable to your team than before.

4. Programming is a Valuable Skill on Your Resume

I understand you don’t want to be a programmer (yet). Otherwise, you would probably not be reading this. But even as an information worker, personal assistant, or in virtually every other office job that involves using Microsoft Office, having VBA skills will add value to your resume.

If I would hire for a non-programmer role in my business, someone with some basic programming skills would have better chances to get the job. The skills to understand and optimize processes are already a plus. Furthermore, even with manual tasks being the bulk of the job description, it would be helpful if the person filling the role would be able to identify the common denominator in frequent, recurring tasks and analyze these and then optimize them by automating them. – Yes, this employee would, at least partially, eliminate their own job. However, when they were successful with that, they would not be out of a job, but they would get a higher paid job thereafter.

See Also
Emacs vs Vim

I don’t know how many hiring managers will see the potential in this, but there will be some for sure. Even if it doesn’t help with getting a job, it certainly cannot hurt.

Learn VBA Programming in 2022 (4)

5. VBA Programming can be Fun!

Interacting with the development environment to write any computer code can be a frustrating experience. VBA is no exception to that and unfortunately the VBA IDE (Integrated Development Environment) is lagging behind in terms of user friendliness and supportiveness. - All that becomes irrelevant the moment the code runs successfully and completes the intended task.

But even before a programming task is completed, I enjoy the challenge (if it is one!). I like evaluating possible options to implement the desired functionality, to learn and understand new concepts and technologies. Despite the frustration that sometimes comes along interacting with a computer through code, this is a lot of fun to me.

Finally, I find it immensely satisfying to know a piece of my code is being executed and tasks being completed by it. This applies to code making my own work easier, as well as to code being used by the employees of my clients in their work.

Conclusion

Programming is not for everyone. However, if your job includes a lot of work with computer applications and you are generally happy with that, you should explore whether you like writing program code or not. If you are using Microsoft Office applications, learning a bit of VBA is the easiest starting point to tip your toes into computer programming.

If you enjoy coding and you want to learn VBA in more depth, my online course Learning VBA Programming will bring you to a whole new skill level.

Share this article:

I will never share your email with anyone. You can unsubscribe any time.
This email list is hosted at Mailchimp in the United States. See our privacy policy for further details.

Benefits of the newsletter subscription

Learn VBA Programming in 2022 (9)

© 1999 - 2023 by Philipp Stiefel - Privacy Policiy

As an enthusiast with in-depth knowledge of programming languages and automation, I can attest to the significance of Visual Basic for Applications (VBA) in the realm of Microsoft Office applications. My expertise in various programming languages and hands-on experience with automation tools allows me to offer valuable insights into the concepts discussed in Philipp Stiefel's article.

Firstly, VBA is a powerful programming language embedded in Microsoft Office applications, including Word, Excel, Access, and Outlook. It is commonly referred to as "Macros" in Excel and Word, where it plays a crucial role in automating processes and workflows within these applications.

The article rightly points out that despite the emergence of modern programming languages and alternatives, VBA remains highly relevant in 2022. Its prevalence is attributed to the extensive use of Microsoft Office across various industries. While Microsoft introduced a new JavaScript API for Office Add-ins, VBA stands out as the preferred choice for desktop client applications, especially when dealing with local components, files, and processes outside of Office documents.

Now, let's delve into the five reasons outlined in the article to learn VBA:

  1. Automate Recurring Processes:

    • VBA allows users to automate repetitive tasks, saving time and effort. This is particularly beneficial for tasks involving data download, import into Excel, calculations, and report generation.
  2. Build Custom Applications:

    • VBA can be used to create custom applications in Microsoft Access with unique user interfaces. These applications streamline and optimize daily work processes, providing tailored tools for specific business needs.
  3. Learn to Analyze and Design Processes:

    • Learning VBA involves understanding and analyzing processes. This skill extends to researching inputs and outputs, understanding existing manual processes, and designing efficient automated solutions. It enhances analytical skills and deepens insights into business processes.
  4. Programming is a Valuable Skill on Your Resume:

    • Even for non-programming roles, possessing VBA skills adds value to a resume. The ability to understand and optimize processes, along with basic programming skills, can make a candidate stand out in various office job roles.
  5. VBA Programming can be Fun:

    • Despite potential frustrations in the development environment, the joy of successfully running code and seeing tasks completed provides a sense of accomplishment. The article highlights the satisfaction derived from creating code that makes work easier and more efficient.

In conclusion, the article suggests that while programming may not be for everyone, exploring VBA, especially for those extensively using Microsoft Office applications, can open doors to understanding and enjoying the world of computer programming. The mentioned online course, "Learning VBA Programming," is recommended for those looking to deepen their skills in VBA.

Learn VBA Programming in 2022 (2024)
Top Articles
Latest Posts
Article information

Author: Foster Heidenreich CPA

Last Updated:

Views: 6501

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Foster Heidenreich CPA

Birthday: 1995-01-14

Address: 55021 Usha Garden, North Larisa, DE 19209

Phone: +6812240846623

Job: Corporate Healthcare Strategist

Hobby: Singing, Listening to music, Rafting, LARPing, Gardening, Quilting, Rappelling

Introduction: My name is Foster Heidenreich CPA, I am a delightful, quaint, glorious, quaint, faithful, enchanting, fine person who loves writing and wants to share my knowledge and understanding with you.