Agrego algunas propiedades no tan conocidas a la hora de proteger una hoja en excel:
Worksheets("Hoja1").Protect password:="tupassword", scenarios:=True, drawingObjects:="true, UserInterfaceOnly:=true
Al aplicar la protección que está solicitando la protección de toda la hoja.
Hay tres niveles de protección de hoja en la interfaz de usuario.
Ellos son:
DrawingObjects: Variante opcional. Fiel a proteger las formas. El valor predeterminado es False.
Contenido: La variante opcional. Fiel a proteger el contenido. Para ver un cuadro, esto protege todo el gráfico. Una hoja de cálculo, esto protege a las células individuales. El valor predeterminado es True.
Escenarios: Variante opcional. Fiel a proteger a los escenarios. Este argumento sólo es válido para las hojas de trabajo. El valor predeterminado es True
Hay un nivel cuatro en el VBA, es decir:
UserInterfaceOnly: Variante opcional. True para proteger la interfaz de usuario, pero
no las macros. Si se omite este argumento, la protección se aplica tanto a las macros y la interfaz de usuario.
Todas las celdas están bloqueadas por defecto. El bloqueo de una celda no tiene ningún efecto a menos que la proteccion de la hoja se aplique