VBA is a way to bind users ever more tightly to an all-Microsoft solution. No amount of clever licensing, marketing, and press releases thinly disguised as 'news' will make VBA a cross-platform solution. And, apart from platform issues, VBA is simply a clumsy language, compared to the elegance of Java and JavaBeans.
Cleaner language means cleaner, more maintainable code, and thus reduced costs to business.
In the short term, VBA might seem an attractive solution. But when a major coding project turns into a tangle of spaghetti code and obsolete tools in two years because of VBA, companies will look at their competitors getting good use from Java and learn.