VBA is massively underrated.
In the spreadsheet that I am using day in and day out, I couldn't have done the operation with formulae. But there can't be much that can be done in C++ that can't be done in VBA.
One sheet I use most days is something that I have knocked up which handles linked lists with tens of thousands of entries and has its own garbage collection built in. Doing stuff like that, without storing the data within a sheet, would be nigh on impossible and even if I used a worksheet to store the data rather than in a linked list I would perhaps still need VBA.
If one treats VBA as Visual Basic 6 with $APPLICATION objects glued in (be it Excel, Word, Access, Powerpoint, etc) and writes proper code then it's rather good.
Yes, one doesn't have all the fancy Object Oriented coding facilities offered to us that C++ does but it goes most of the way there, and I except that, but this doesn't mean that it's a bad language or should be taken out and shot.
Like all languages there are people who abuse it or miscode and this gives the language a bad name whereas in actual fact it's the coder that's usually to blame.
Some of my VBA applications are tens of thousands of lines long and they work perfectly. Yes, I could use a standalone language, as I do in some cases, and talk to $APPLICATION via COM. But then I've seen on these boards people saying that COM is also the spawn of the devil. Sigh
There's nothing wrong with VBA apart from a few bits of OOP architecture missing but it's still a bloody good language.