In his terrific article on making macros faster and shorter, johnske mentioned that the index variable in a For...Next loop should be dimensioned as "Long". I have always had the habit of making the variable "Integer" because it takes less memory. That's probably not a big issue, but why not? Most of my loops have a max number of iterations that never approach the overflow limit of integer, so it just seemed logical to use integer rather than long. So, John, did you really mean that loop variables should always be long??
I've also had a habit of making row number type variables type integer. Upon thinking about it, I can see where that is clearly illadvised. They should be declared as long, and I'm revising old code to reflect that observation.