I am keen to encourage individuals and organisations to explore using advanced MS Excel formulas and functions, in conjunction with Excel VBA programming, to develop customised spreadsheet applications that will solve typical problems end_users encounter daily in trying to record/analyse data and generate reports.
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. Most Excel VB Developers have backgrounds in management, accounting, engineering and other fields, which further equips them to be useful to you in "thinking up" better ways to apply your spreadsheet automation to get the most value for your business. You therefore need to choose the right developer, with the appropriate background to match your needs.
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.
Custom spreadsheet solutions which survive long after the developer has "left the scene", are often those which users accept because they discover it _ among other benefits _ makes their work quicker and easier to do. That is why the best person to develop such solutions tend to be one who works in that area, and is therefore familiar with the way the manual system operates. S/he would have an "insider's" perspective of the best way to introduce automation other users will readily adopt _ even as it solves the identified problem(s).