What Is Excel-VB?
Microsoft Excel is a powerful tool for recording, re-organising, analysing and presenting information. By Excel VB, I refer to Excel VBA – where VBA means Visual Basic for Applications(VBA). VBA refers to the highly extensive and flexible macro programming language developed by Microsoft for use in their MS office applications – Word, Power Point, etc.
VBA is therefore different from the Standalone Visual Basic program used(by conventional programmers) for developing “standalone” or “executable” (.exe) software applications – though it borrows many of the latter’s features.
Think of Excel VBA as being the standalone Visual Basic software built into Excel for the benefit of Excel users/developers who are not traditional-minded programmers, but who are keen to exert more control over the application to enhance user productivity.
So, Excel VB offers any interested persons the necessary tools to make the application deliver more functionality. The final product is still an Excel document, but with extra functionalities added using VBA..
1. I always answer this question by asking the following question: What would be the point of “Killing A Fly With A Hammer”?
Let me elaborate. If a method is available that allows us to achieve the same desired result(s) at LOWER cost, with LESS effort and in LESS time, why should we fail to adopt it?
Certain IT persons insist that developing executable applications using the standalone Visual Basic programming language is “better” as it does not limit the user to a particular user application software environment. I concede that this might be a valid point under certain conditions. However, I point out that there are many users who have very specialised, peculiar needs that do not necessarily require complex solutions.
A lot of people today simply want to get their data recording, (re)organisation, and analysis for decision making done quicker and with less effort. They also want to spend as little money as possible to do this. In other words, they want a cost-effective solution that gives them independence from the solution provider in the long term – without requiring them to undertake laborious skills acquisition immediately.
This category of everyday users of technology described above are the ones I believe need Excel VB solutions of the type I describe/provide. I anticipate that some of these users will over time develop an interest in acquiring advanced skills needed to develop their own solutions – which is why I also offer coaching services.
2. Another question I ask, in answering the “Why Excel VB?” question is : “Why re-invent the wheel?”
My experiences (and those of others who favour the use of Excel VB like I do), confirm that to organise, and analyse data for (financial/management) report generation and decision making, you will save hundreds of hours using already in-built, pre-programmed Excel functions compared to a situation where you used Visual Basic proper.
All the functions needed to achieve the above purposes already exist in Excel, so that you don’t have to write them all from scratch as would be the case if you were to use Visual Basic.
Even though I had always felt this way, my encounter with a similar justification stated by a Microsoft Certified Professional, Pierre Leclerc on his website(http://www.excel–vba.com/), gave me greater insight and clarity, that made me decide to stick with Excel VB even though I had attended a full training course in Visual Basic in 2002.
The fact that one uses Excel VB or VBA does not mean one will not have need to use VB or other languages. Over the years, the need for faster, more sophisticated, robust, and secure Excel-based software has led Professional Excel Developers to – whenever they consider it necessary – actively utilise ANY other applications and programming languages (such as C/C++, VB6 or VB.Net) to deliver better performing applications (learn more below).
ExcelVB Is Used To Develop Commercial Quality Excel Software
Today, there is a huge army of Professional Excel Developers who develop Excel-based software solutions for a living – worldwide. Their software can be found in use alongside those developed using more traditional programming languages like C++, and VB6, in some of the largest corporations in the world – including Microsoft itself.
Professional Excel developers typically would use Excel VB in conjunction with other programming languages(e.g. C/C++, VB6 or VB.Net etc) and applications(e.g. databases like MS Access, Oracle, SAP etc) to develop flexible, fast/easy to use, high performing, robust and maintenable Excel Solutions.
The implication of the foregoing is that ExcelVB occupies it’s rightful place as the true development platform that it is. Many times, it is even able to deliver a significant performance edge over other applications due to its powerful calculation engine that the developer is able to leverage – thereby saving time while delivering more functionality to users.
For the purposes of creating custom financial and management solutions that solve your identified problems, and give you control/ownership, without burning a hole in your pocket, Excel VB offers an amazing variety of possibilities, in the hands of an adequately skilled user.
In addition, an Excel VB – better still, a Professional Excel – Developer( who in many cases will tend to be a user turned developer, and is therefore likely to easily see things from your perspective) – unlike a programmer – is more likely to be positively disposed to working with you to ensure the application meets your practical needs. S/he will readily understand that the final application is meant to help solve a real problem(s), and will therefore build it to match those expectations.
It’s not enough to have a professional with the technical skills to solve your problem, s/he also needs to have the right attitude and background/experience – else the relationship will not work. This is where an Excel VB resource is more likely to add value to you.
I believe the foregoing are compelling justifications for choosing Excel Visual Basic over Visual Basic.