.....nah, I can't keep my mouth shut.

I also hate single lines IF statements. The reason the semi-colon was accepted is a holdover from COBOL and the like. AND IMO it makes debugging harder as it is simply too darn easy to miss some logic. I never use them.

Frosty's comments on variables are excellent and for your own code, strongly recommended. True, I am quite sloppy when posting here, but for my own stuff I am more disciplined.
But definitely use locals when that is all you need. There is no point in using globals when you do not need globals. This is where understanding scope comes in.

The speed versus readability is a no brainer. Readability rules in VBA. There are SOME speed issues, but as previously stated in reality they are quite minor in modern computers. As for the 1 line versus 3 line IF, you have to remember that the ONLY difference (beside the serious readability issue) lies in the parser, NOT the compiler. Both execute exactly the same when the code is compiled for execution. As for IIF, beeech yuck. There may be the occasional use, but really...bleech. Learn to use Select Case properly. It will save you much work.
So learning about ranges and collections will serve far better in actual speedy routines (i.e., working with the object model) than a theoretical discussion on how to code for fastest code.
The above quote from Frosty really sums it up. Collections, Ranges, and the use of objects - THAT is what will make better code. That and readability.

Oh and Greg's comment re: Selection and Range. Yup. There are definitely instances where Selection is the route, but over all, for 96.413% of the time Range is better.

Oh and DO comment!


fcnLineList = Replace(Replace(strIn, "|", ", ", 1, Len(strIn) - Len(Replace(strIn, "|", "")) - 1), "|", " and ")

LOL! or maybe ROFL. Yeah.....