Note that since posting, I added a line in the Delete macro to prevent the build up of invalid Names (named ranges):
Names(theRange).Delete 'deletes the Name