io uso questo codice, che in versioni datate di excel riuscivi a registrare, ed ora invece non più, però funziona.

per sproteggere il foglio di lavoro attivo:

ActiveSheet.Unprotect Password:="abcd"

per proteggerlo:

ActiveSheet.Protect Password:="abcd", DrawingObjects:=True, Contents:=True, Scenarios:=True

per proteggere il foglio 'pippo':

Worksheets("pippo").Protect Password:="abcd", DrawingObjects:=True, Contents:=True, Scenarios:=True

analogamente, per proteggere la cartella attiva:

ActiveWorkbook.Protect Password:="abcd", Structure:=True, Windows:=False