I think it depends on the situation, as all things do, but I am a huge fan of named ranges.
One of my biggest pet peeves with VBA programming in Excel is that if you refer to, say Range("E1"), and then insert a row before it... VBA is pointing to the new Range("E1"), which used to be "D1". When you name a range, that doesn't happen since the named range is dynamic. For that sole reason, I think that they form a HUGE part of good programming practice.
Can they get out of hand? Sure, but what can't?
![]()