Should you consider investing in learning Microsoft’s Visual Basic for Applications? It is so ubiquitous as it is supported by all MS-Office installations. However, it was not adopted as a general, all purpose programming language by the professional developers’ community. Who would benefit and what are the pros and cons of learning and becoming a professional VBA developer?
In my last blog post I offered a brief analysis of why VBA was not adopted by the professional developers’ community as an all-purpose business applications technology. You will not find too many software houses offering solutions developed with VBA. On the other hand, VBA is widely used in millions of MS-Office installations and MS-Access, database-oriented applications. Clearly, there is a market for it. Let’s try to weigh the pros and cons for investing in learning VBA.
What type of a VBA developer are you planning to be?
Broadly speaking, I identify two main typecasts here: MS-Office environment focus, and all-purpose developers. If you are planning on working mainly in the Microsoft Office field, seeking automation of Office tasks, exchanging data to/from any Office application – this is a no brainer. VBA is your natural choice.
Mind you, working with the different MS-Office applications for automation of tasks does not really qualify as a business software developer. In my next Blog post I’ll elaborate on what it takes to be able to design, develop and deliver business applications in a successful way over time as you build your career.
How can VBA be used to build business-grade software solutions?
In general, I’d say you have two approaches for business applications with VBA: MS-Access and MS-Excel. MS-Access is a compact “toolkit” for building business applications. It comes with a Database, user-interface designer and queries services to inject the Database interactions required. For a more “free form” approach, MS-Excel can be used. Use the Excel VBE (VBA development environment, or editor) to construct your program, connecting to an external Database, designing the user interaction forms, writing the required queries, etc. You have Excel as an extra layer of features and services to leverage, though. I wouldn’t base my business application on any of the other MS-Office applications’ VBA (such as MS-Word, or MS-PowerPoint), although you can address MS-Excel objects anyway.
Let’s now consider your pros and cons as far as deciding on VBA as your target language for business applications.
Why VBA may NOT be the best choice for you
The more of the following are true, the higher chances VBA may not support your career.
- You aim to focus on Web technologies / cloud-based solutions. VBA is definitely not the technology to be used for web development. As I show in my course VBA allows accessing the Internet through exposed APIs, for web-scrapping, for exchanging data with web services, however, not designed for Web development / Cloud applications.
- You aim at focusing on hardware-related technologies, such as embedded, drivers, digital signal processing, Internet-of-Things.
- You aim at focusing on data-science, machine-learning, sentiment analysis. Check out Python…
Why VBA may be the best choice for you
The more of the following are true, the higher chances VBA may best support your career.
- You aim to become a bold, independent solutions provider, offering specialty expertise in a focused technology. VBA may be a highly suitable choice here, as there are not many VBA experts when it comes to business-grade solutions on one hand, while it is practically on almost every employee and manager’s computer on the other. It is already “built-into” the working and technical setting of the customer.
- You specifically consider Microsoft Office as a target environment for your offerings. MS-Office automation comes to mind, but also applications that need to interact (exchange data / objects) with the MS-Office applications are counted here.
- You want an easy-to-learn computer language to start with (even if you plan to move on to other technologies in the future). VBA has abundant support in the community, easy IDE (development environment), has no installations over-head to prepare before coding, or after coding before it can be used. VBA is part of the “Basic languages” family, including Microsoft’s Visual Basic and the historical Basic language I started with in the early 1980’s at the age of 13. Apart from the basic components of a functional computing language, there are no complex concepts to grasp or “Chinese-like” syntax to adhere to. In conjunction with Excel, readily available input and output features are given to you – you can leverage Excel’s built-in objects, visualization elements, computation “grid” and Worksheets to serve as tables structure for your data. In conjunction with MS-Access, you also have out-of-the-box services you need not worry about, as mentioned earlier.
- My program is unique as I carefully knitted ALL the skills you need to become a business software developer, under one home. I teach you computer programming, Excel VBA, databases, SQL, designing user forms, standard data exchange protocols, accessing Internet services, understanding the business language of corporate managers, understanding business process and best-practices, and jump-starting your career. You need not shop around in many places to gain all these skills and support, hook them together and have no support in building your reputation. I’m not aware of any such comprehensive, practical program available with any other computer language out there.
If you still have questions or concerns related to your career, I’d be happy to chat and see if I can add some additional advice, write to me at firstname.lastname@example.org.
WANT TO LEARN PROGRAMMING WITH EXCEL VBA?
I created a complete 8-course program for you.
From programming to databases with Excel VBA to deliver business-grade solutions.
Take the first course today: Computer Programming with Excel VBA.
Click the button to see the complete program and start now!