Hi Tom,
Yes I did have a look at that link, and checked out the codes you posted, apparently based on Find.
Yes, the then dictionary object user did concede that he/she had used the wrong tool in the wrong way for that particular problem. It doesn't imply the dictionary tool is universally not useful for other, maybe many other, problems, or even if used somewhat differently could have been OK for that one.
You note above that
"it has never made sense for me to programmatically create an object whose purpose is to be eliminated". I think that object can serve useful purposes during it's brief existence, but like anything else may be disposed of when it's time has passed. Don't many parts of a program - definition of ranges, screen updatings turned off, etc terminate when the program completes?
Would you on similar grounds raise objections to the use of catalysts in chemical reactions, or closer to here, to the use and subsequent elimination of helper columns which may disturb data a lot more than does the scripting dictionary?
You referred to one thread to expand on your viewpoint. I was involved in a couple of quite
interesting ones myself more recently
http://www.mrexcel.com/forum/showthread.php?t=428654
and
http://www.mrexcel.com/forum/showthread.php?t=424524&page=1
These threads involved quite large datasets, and it interested me that all suggested approaches other than scripting dictionary dropped out pretty quickly. If there were better approaches, I have to be curious about why they weren't forthcoming.
Coming back to the current thread, Northwolves posed a good problem and has given an excellent, very fast, solution, using the scripting dictionary. I'm right now very curious to see if there are better approaches available, as some of your comment may seem to imply ...