Long vs. Integer

Once upon a time I read that Excel does not use the Integer data type internally. If you use the Integer data type in your code, Excel will convert it to a Long, so you might as well just use Long. It still produces an overflow error if you get outside the Integer bounds, I’ve noticed.

I haven’t used Integer in years because of this, but now I don’t recall who said it and when. It was certainly in a newsgroup post, but I couldn’t google it very easy. Does anyone know if this is true?


  1. Dick says:

    That’s cool. It doesn’t say why, but Long is consistently faster than Integer.

  2. Ivan F Moala says:

    Thats because Integers are actually converted in the underlying VB Engine. The compilied code is 32 bit, so using Longs skips the under the hood conversion.

  3. ross says:

    InsaneExcel is a cool site, very good kid, check it out, i’ve know about it for time, excel error!

  4. Harald Staff says:

    Hi Dick

    I’m the Who. I post it from time to time so I can’t help with a distinct When.


    Best wishes Harald

  5. John Mocambique says:

    The update page link that Harald refers to is:


    Which is titled (in case it moves again):

    Microsoft Office XP Developer
    The Integer, Long, and Byte Data Types

Posting code or formulas in your comment? Use [cc] tags!

  • [cc_vb]Block of code goes here[/cc_vb]
  • [cci_vb]Inline code goes here[/cci_vb]
  • [cc]Formula goes here[/cc]

Leave a Reply