Hi Lee,
Selecting objects can be very buggy in Excel. My first guess would be that your code is in a worksheet's class module (not the "KSB1" worksheet) which means that your unqualified range property will refer to the range on that worksheet rather than the "KSB1" worksheet. The range object is by design strictly 2 dimensional in the Excel Object Model, so if the named range "KSB1_Hdr" is on the KSB1 worksheet, but your range property is implicitly qualified to a different worksheet, you'll get an error.
If I've successfully identified the problem there are 3 workarounds:
1. You can qualify your range property:
Code:
Worksheets("KSB1").Select
Worksheets("KSB1").Range(KSB1_Hdr).Select
2. Leave the code the same but move your subroutine to a standard code module so the unqualified range property will reference the activesheet.
3. Best option!
The bottom line is that 99% of the time we don't need to select ranges - this normally just slows your code down and makes it prone to errors unless you code it very carefully. What do you intend to do with the range, we should be able to show you a better way of doing this?
Hope that helps....