From this point on, I will refer to only one of the above mentioned applications, because it is my preferred work environment. That is Microsoft Excel. I believe users of other spreadsheet applications will be able to adapt whatever I say from here for use in their own peculiar environments.
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).
In addition, an Excel VB 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.
A DIFFERENT Type Of Automation. The approach to spreadsheet automation that I refer to, is one that seeks to provide functional spreadsheet automation alternatives for ANY spreadsheet user task(s). Typically, solutions like this would require the developer to study existing manual data recording, analysis and report generation systems, then plan _ in consultation with users _ for incorporation of automation into the spreadsheet to replace them, where possible.
examples of spreadsheet packages
what is a spreadsheet used for
excel inventory templates