"Permission Denied" is not for a protected worksheet but for wrong access to a property or variable.
I believe that "sh" is null at the point you are trying to access it and set its "Name" property. try to see if you initialized it correctly before setting its properties.