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.
This last point in my opinion is ONE major benefit you must seek to extract, if you choose to engage the services of a developer. S/he should be able to help you develop (in_house) expertise needed to maintain the application AFTER s/he is gone. If you fail to ensure this, all your cost_savings from using the application might end up being spent paying the developer to maintain the application over time in the future!
Variable Costs Control/Reduction was a strategy that worked extremely well for the company. Most memorable for me as a brewer, was the manner in which huge monetary savings/profit gains were made by successfully implementing variable cost reduction initiatives. For instance, a brewing ingredient switch was made to a more readily available local alternative which was many times cheaper, resulting in phenomenal savings and progressively increasing profit earnings even though the price of beer produced was not raised. This practice was routinely applied across the brewing and packaging processes in line with a well thought out plan.
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.