Who is the hardest?

Legend tells of one my old school mates who was as hard as.

Out drinking (underage of course) one night, the semi peace of a saturday night in a northern mill town pub was broken by a huge crash.

A giant barged through the door and demanded in that special Saturday night aggressive tone “who is the hardest ‘kker here?”. Heads were bowed as he was clearly looking for a fight, and it was going to hurt. No one moved, definitely no one made eye contact.

Except Dyksey: “I am – and if there’s any fighting I’m on your side!” he declared jumping up.

Dyksey was always the guy you wanted on your side when things went bad.

A bit like VBA I’d suggest, once again laughing in the face of death, thumbing it’s nose at twenty years of ‘progress’. Microsoft have just announced (on the day of its retirement) that they will extend support for Mac Office 2004 for another 3 years because of the gaping hole where VBA used to be, in Mac Office 2008.

Having read that story I might have to go and watch Shaun of the Dead.

VBA really does seem unkillable – and its getting stronger by the day as more and more business critical code gets implemented in it.

What technologies do you think could beat VBA in a pub brawl?



31 Responses to “Who is the hardest?”

  1. Mike Woodhouse Says:

    VBA will, I submit, continue to exist in versions of Excel that people actually use until it’s replaced by something that is (a) compatible and (b) integrated. I say “actually use”, because I won’t be upgrading to a version that won’t run my code. Not outside of work, anyway – there I’d get paid for sorting out Microsoft’s mess.

    I need people to stop saying VSTO because it sometimes happens when I’m drinking and the uncontrollable laughing fits cause me to make a mess.

    It really is time Microsoft either outlined a practical strategy for doing away with VBA or admitted they don’t have one. Items to be addressed might include: replacing Excel as a COM server with something more dot-Netty. Excel in managed code, anyone? Heck, with Mono they might even be able to reuse more of the code base in OSX. Double-heck, it might run on *nix…

  2. Mathias Says:

    VBA is like the Blob, getting ever bigger and more monstruous as it swallows more users… I have to agree with Mike, as much as I like VSTO (or, to be more accurate, hate working with VBA in its editor after getting used to VStudio and .NET), it’s not a viable replacement for VBA – if only because of the different deployment model, and the absence of the macro recorder. If Microsoft managed to get Silverlight to run in most browsers on most systems, maybe they can do something similar for Excel…

  3. Harlan Grove Says:

    There are only a few things that make VBA different from any other non-.Net language: (1) it’s tied into Excel, e.g., you can step through udfs called from cell formulas, and event handlers and udfs can only be implemented in VBA; (2) its syntax.

    Myself, I’d prefer a language with built-in support for arrays. Not just redimensioning them and assigning them to variants, but slicing, joining, rotating, transposing, and matrix arithmetic. I wouldn’t go so far as APL/J/K, but something like R/S-Plus would be nice.

    Short of that, it’d be nice to have a Trap/End Trap block added to VBA’s syntax as a replacement for the overly coarse On Error. However, the top of my VBA wish list remains being able to pass 3D references in cell formula UDF calls to VBA.

    As for VBA the language, it’s just another BASIC dialect. If you like BASIC, then VBA is fine. If you dislike BASIC, VBA is at best a necessary evil. I’m closer to the latter perspective.

    I figure you don’t want this to become a syntax war, so I’ll just end by saying VBA is klunky when it comes to exception handling and inadequate because it can’t handle all the argument types built-in and XLL add-in functions can.

  4. Michael Foord Says:

    Python. :-)

    It could kick VBA in the nuts…

    • Freddie Says:

      Never knew VBA had balls ;-)

    • Giles Says:

      Our latest ad (at http://www.gilesthomas.com/?p=98 ) asks “Does anyone actually like VBA?” with an appropriately silly image, and it’s getting phenomenal numbers of clicks by banner ad standards, which makes me think that there’s a lot of frustration with the language.

      On the other hand, for any competitor to take over completely from VBA, it’s going to have to have serious backward compatibility. This is not easy, neither for us at Resolver nor, it would seem, for the VSTO team… for a start, although the average VBA user probably only uses 10% of the functions, each VBA user uses a *different* 10%.

      So getting a sufficient level of backward compatibility to be useful to people moving over is extremely tough, even if the new platform is actually better than VBA.

  5. dougaj4 Says:

    “What technologies do you think could beat VBA in a pub brawl?”

    Fortran ;)

  6. dougaj4 Says:

    On a more serious note, I don’t understand why MS would want to dump VBA, since it is the only thing stopping many people from moving to a free competitor. Different applications have different needs, and for a large part of Excel application development VBA is the best thing currently available, and should be developed and improved, rather than trying to shoe-horn something else in to replace it. No doubt at the other end of the market there is a need for something different, but there is no reason at all why the two can’t be done together.

    On the deficiencies of the VBE question, maybe it’s a lack of familiarity but I don’t see the advantage of the Visual Studio editor. Anyone care to enlighten me?

  7. Simon Says:

    Michael + Freddie – are you two a comedy double act? :-) :-)
    I’d have said VBA would have Python in a brawl anyday (how many death attempts has Python survived?)
    But maybe I’m wrong – results just in – Python is the Daddy:

    Doug fair point and add in Cobol too I guess

  8. Phil Says:

    I’m an Excel user, not a developer, who first learned the rudimentaries of Basic on a 1k Sinclair ZX81 – yes I’m that old!. I don’t have any training in computer languages or technologies (I work in an accounts enviroment, although I’m appreciated as much in my workplace for my Excel skills) and feel “safe” creating and editing macros in VBA, and teaching young “upstarts” how to develop their macro ideas. Hopefully VBA will continue alongside any other technologies which you developers seem to adore… please leave VBA for us oldies and users to play with!

  9. sam Says:

    What makes VBA different for other .net languages is that its FREE (or lets say paid for once you buy Excel) So I dont have to install /buy anything extra to start coding.

    Ability to create COM addins and XLL’s directly by Save AS would be the no 1 item on my wish list for future versions

  10. Dennis Wallentin Says:

    Q: What technologies do you think could beat VBA in a pub brawl?
    A: Java!

    In addition, in the long run VBA is dead and will be replaced despite what You guys want. I’m already looking forward to Excel 15 to see what MSFT will replace VBA with.

    Kind regards,

    • Jon Peltier Says:

      Dennis –

      I doubt VBA will be “replaced” by anything in Excel 15. If there is another programming system, it will be placed alongside VBA in the developer’s set of tools. Much the same as VBA has coexisted with XLM for all these years.

  11. Simon Says:

    I’d like to imagine it would be an extension(/evolution?), rather than just a replacement.
    But then again with the current pattern of bold retirement statements followed by rapid backpedalling and lifecycle extensions, literally anything could happen.
    You would have to say that the feedback from the MacOffice experiment appears to be VBA is worth keeping currently.

  12. Mike Staunton Says:

    The first step is to write a translation routine from VBA into whatever the replacement is – if it was accurate enough, people would be much more willing to migrate their legacy code – but I can’t see MS doing that properly but more likely to do a poor first attempt, cause early adopters grief and then a couple of SPs later it might actually work

    The Excel team seems more concerned at the moment with trying to find database-type functions to gobble up their 1,000,000 rows – that would be far better done in a proper database package

  13. Simon Says:

    Mike they had that VB6 to VB.net migration bag of hammers that was a complete and utter fail. Based on that I think you are generous to give them a couple of SPs to create something useful.
    And I bet it would be the VS team rather than an office team, and we know how much VS loves VBA – they have been trying to kill it for 10 years (and failed cos it’s well ‘ard).

  14. Mike Staunton Says:

    Well, then I’d suggest MS getting competent third-party such as Tangible Software to do a better job

  15. Dennis Wallentin Says:


    It’s always nice to speculate! Anyway, when I look on how VSTO has evolved through the years it’s noteable that MSFT has simple cut off previously versions but with 2007 it support all versions.

    A side-by-side set up with VBA + the new language may be a too large overhead to carry and may also be difficult to resolve from a technically point of view.

    But again, only the future will tell us what will happen.

    Kind regards,

  16. Bob Phillips Says:


    MS most definitely DO want to ditch VBA because their strategy is to position Excel as a presentation layer on top of a .NET solution which includes SQL Server, MOSS, Excel Services (or whatever these products are all called now). So the ‘real’ work is done by ‘proper’ IT types, and Excel users just become consumers of the information. VBA is a huge barrier to the world fawningly accepting this stragey. Does this seem the fright apprach to you?

  17. Dennis Wallentin Says:


    As I see it; MSFT wants .NET developer to discover that they can create Office solutions without porting themselves to VBA. I cannot see any harm with that. Do You?

    In large corporate solutions Excel *is* the presentation layer and it’s better that Excel is included then excluded in solutions like that. As a personal tool it is a spreadsheet tool.

    In my opinion it would be a difficult situation if we create a situation where VBA developers are against the rest of the world. Nothing good can come out of an attitude like that.

    I really like the fact that Office is on MSFT’s agenda as a development platform. In that way it will be possible to make a living of Excel services (of all kind) in the future too!

    Kind regards,

  18. Bob Phillips Says:


    No I see no problem if it were just that.

    The problem that I see, and I have been in companies experiencing this from the inside, is that where IT take control of the development, the business suffers. Solutions are imposed, they are over-engineered, and they are usually way behind the business timeframe.

    Unless MS deliver a .NET solution that is accessible from within the Excel client, as against outwith the client (and I sincerely hope that they do as I want to move to .NET, I much prefer the language(s) and the IDE), IT will contriol all Excel development as well, and I don’t see much opportunity for one-an bands like you and I.

  19. Harlan Grove Says:

    In the same vein as Bob, the reason spreadsheets and small database programs became so popular is that they allowed NON-IT people to build useful applications which IT developers were unwilling or incompetent to develop. With the explosion in development technologies over the last 20 years, IT developer business incompetence has worsened. As for unwillingness, they claim to want to take over most development, but once everything is recentralized it’ll be back to the bad old days of waiting 18 months and paying US$100K for the equivalent of a few fixes to some print macros.

    I lived through the great decentralization, I have have my own first-hand memories of MIS/DP managers telling my manager that they couldn’t, in good conscience, give anyone in our department electronic access to mainframe data files or reports because MIS/DP couldn’t control how we used the data. They could only continue giving us hardcopy printouts (many were several thousand pages, so a few linear feet of stacked printouts). However we used the printouts was apparently not their concern. Logical reasoning never was a job qualification for IT managers.

    But they made the mistake of giving another guy in my department a PC with an IRMA card and a printer that could be used as a mainframe printer. Within a week he’d figured out how to cache print jobs on his harddisk, and I set about writing awk scripts to turn the cached reports into useful flat files.

    That’s what we’re going to see again once IT has eliminated non-IT development, only this time they won’t make the mistake of giving us (or allowing us to acquire and install) any tools to make our jobs easier. Instead of having to retype company data from mainframe printouts, we’ll have to copy/paste company data from server-generated PDF files.

    In the current IT worldview productivity and security are diametrically opposed, and security is goal. Microsoft is happily facilitating this.

  20. Dennis Wallentin Says:


    I assume that MSFT will provide us with a .NET based new language inside Excel. Hopefully it will include a recorder as well. .NET developers have difficulties to learn and understand the Excel object model while VBA developers have no access to VS or have difficulties with C#/VB.NET so both group of developers are in need of some support.

    The list of prerequisites, in order to run any .NET based solutions, gets smaller and smaller so MSFT is doing a good work here. The security model on .NET platform is superior the VBA security model but comes with the price of less flexibility.

    I have had and still have my share of battles with centralized IT-departments. But I also work more and more with the centralized IT-departments. However, I cannot see why MSFT should be blame for it.

    After all, it’s up to each organization to organize their IT-structure. The general key issue is that the IT-departments don’t understand the business needs on a micro level and the buiness does not understand the IT needs on a macro level. But again, don’t blame MSFT for it.

    As MSFT and the corporates moves more and more to the server platforms we, i.e. one-an bands, needs to follow. What makes it difficult is that it requires expensive investments in hardware and software to get access to the most common MSFT server platforms.

    It would be very nice if MSFT could offer us access to them on their Azur platform for a small monthly fee. They could start with the group of Excel MVPs as a trial.

    Kind regards,

  21. dougaj4 Says:

    “Does this seem the fright apprach to you?”

    Yes or no respectively, depending on whether you meant “fright” or “right” :)

    Not that it’s really “frightening” for me personally. I’m sure I’ll have fun getting Gnumeric + Python or whatever to do what I want, if necessary :)

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: