Hey Guys, as a person who programs on VBA for about 7 years I will defend it a little bit. VBA as I see it, is just part of VB 6 to use with different applications in Microsoft Office Package; it is not OO language and was not intended to be despite ability to create classes which in any case almost nobody using while coding in VBA
As I see, Excel is the tool to visually present an info on a screen in a way that preferred by the person, put aside all statistical analysis or any other additional functions that go with Excel, it short it just simple and very easy to manipulate grid environment that you easily can change with a few lines of code.
Simple example:
Let's say every morning you store some market data (prices, rates, etc) in the DB for Deposits, ED Futures, Treasuries, Swaps and trader ask you to create the forward curve given that MD so he would be able to price some of his own instruments on that curve. And of course he want to be able to do all of that in Excel. In this case VBA let's you put different parts of assignment together within minutes. First we grab the data from DB using ADO or DBQuery or something else, I would say around 10 lines of code depending how complex is the ad-hoc SQL or if we have a store procedure on DB side it would take even less time. Then we call for one of the add-inn (which is
C++ or C# implemented) to build the forward curve and return us the curve object, after that we can price whatever we want. The key thing here to use the VBA only for combining all pieces together and present them in the grid.
Jokes aside, VBA could be very power development tool, I saw how my friend wrote a very good firewall using only Excel and VBA back in 2003

So give it a chance, use it properly and you might be surprised
