Hi,
In my last job (in accounting) I had never typed a journal entry by hand (into our accounting system) in over three years. I created an Excel app to do that for me. Having this application also enabled me to do departmental allocations to dozens of departments, with thousands of lines, in a few minutes -- saving hours of laborious and error prone data entry. This one only one example of several that saved my department as much as a day's work, down to a few minutes instead.
One never really knows - the more you know, the more you can do. I customize dozens of workbooks that I use, in ways as simple as making sure I don't save the workbook with tabs grouped to things as complex as parsing data and re-displaying it in a way that the user requires. Just today I spent two hours writing a script to save a co-worker a repetitive task that takes about 15-30 minutes every month. So in about 6 months the return on the investment is earned and after that what takes up to a half hour now takes a few seconds (imagine the happiness that brings as well
- now it takes a few seconds to get done).
I also leverage additional resources through VBA - Regex, direct manipulation of XML documents, email services, and running jobs during the night with scheduled tasks. Some of this cannot be done through the Excel user interface. I get most of my reporting done every day 100% automatically - quite honestly, I wouldn't be in my job without VBA as I couldn't stand the repetition, involving endless typing, copying, and pasting, that I see others dealing with on a daily basis. Though I do tip my hat to the hard work that these "average users" do.
Edit: this reminds me of the basic "lazy" nature of many programmers - I will work my fingers to the bone for hours devising some program to save me a few minutes. But in reality, if the savings is significant enough -- even just ten minutes -- and you can "recoup" your investment within a year -- then you find yourself becoming more productive as the years go by as you start finding you are doing many things in seconds rather than minutes. I've even surprised myself at finding projects that I was just sure I had spent too long creating turning into very productive resources over the long haul. I suspect you are right though, that it takes time and effort to become expert in VBA. I read at least a dozen books and spent about three years honing my skills. On balance, I think it was worth it. One thing you get better at as time goes by is "generalizing" solutions so they can be used in different contexts - allowing you to easily adapt your VBA to other similar situations in your daily work.
ξ