I've used Excel for ages, but it wasn't until I got to this job about 10 years ago and watched co-workers struggle with, run a query, copy and paste, enter this formula, copy it down, put a filter on it, copy and paste results into another page ... remake the charts because the dates changed ...
One of these reports had 33 pages of work instructions! I lost count of the steps when they exceeded 100. That's when I decided there had to be a better way for these people. The work instructions are now limited to Push Button, check results.
My philosophy is to let Excel do as much of the "heavy lifting" as possible and then sew and bolt the pieces together with VBA. So I make extensive use of MS-Query (I have an easy process to write SQL "on the fly"), Excel tables, named ranges and pivot tables.
My other friend is the Windows Task scheduler that I use to run reports overnight (I have an "industrial" process for this too). A report that takes 4 hours for the queries to run on Monday morning, takes less than an hour Sunday night - and it is there on my desk first thing in the morning.
Like 6JazzStringer, I have previous programming experience dating; mine dating back to the punch-card era: from Fortran to COBOL to C. I still get "the willies" with how VB plays so "fast and loose" with data types.
Bookmarks