I can't think of a way to protect the sheet and allow hiding and unhiding of columns or rows. The recommendation there would be to use VBA macro, but that's a different topic.