For the purpose of creating custom financial and business 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.
The savings _ from using your "in house" expertise _ in terms of money and man_hours alone, will quickly justify the investment you make in "developing the needed skills" _ especially, when you compare what you spend with the cost of purchasing a commercial software application _ or even engaging the services of an Excel VB developer.
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. 3.It works even when you lack "In House" expertise.
VBA is therefore different from the Standalone Visual Basic program used(by professional programmers) for developing commercial quality 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 who are not necessarily programmers, but who are keen to exert more control over the application. So, Excel VB offers any interested users 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.