Añadir contraseña a a la hora de bloquear celdas con una macro

Necesito que por favor me ayudéis con una macro de Excel. La macro lo que hace al ejecutar es bloquear toda la hoja excepto una serie de celdas. Lo que necesito es que cuando el cliente abra el Excel no lo pueda desproteger y que solicite la contraseña.

La macro que tengo es la siguiente:

Sub BloquearCeldas()

Worksheets("MACHOS").Unprotect
Worksheets("MACHOS").Cells.Locked = True
Worksheets("MACHOS").Range("C7:C9,F7:K7,F8:K8,F9:K9,O7:R7,O8:R8,O9:R9,D15:F22,G18:H22,I15:K17,N15:P22,Q18:R22,G26,G29,G32").Locked = False
Worksheets("MACHOS"). Protect

Worksheets("HEMBRAS"). Unprotect
Worksheets("HEMBRAS").Cells.Locked = True
Worksheets("HEMBRAS").Range("C7:C9,F7:K7,F8:K8,F9:K9,P7:R7,P8:R8,P9:R9,D16:U19,D20:I21,D22:F27,P20:U21,P22:R27,G31,G34,G37").Locked = False
Worksheets("HEMBRAS"). Protect

End Sub

¿Podría por favor alguien decirme qué código meter para que se habilite una contraseña y así que no se desbloquee?

1 Respuesta

Respuesta
1

Worksheets("MACHOS"). Protect "Contraseña"

Worksheets("MACHOS"). Unprotect "Contraseña"

Así de simple

Buenas tardes Andy,

Gracias por contestar. Entonces dónde lo ubico, al final de la macro? Gracias

No no, cada vez que vayas a proteger y desproteger. Así:

Worksheets("MACHOS"). Unprotect "aqui la contraseña"
Worksheets("MACHOS").Cells.Locked = True
Worksheets("MACHOS").Range("C7:C9,F7:K7,F8:K8,F9:K9,O7:R7,O8:R8,O9:R9,D15:F22,G18:H22,I15:K17,N15:P22,Q18:R22,G26,G29,G32").Locked = False
Worksheets("MACHOS"). Protect "aqui la contraseña"

Worksheets("HEMBRAS"). Unprotect "aqui la contraseña"
Worksheets("HEMBRAS").Cells.Locked = True
Worksheets("HEMBRAS").Range("C7:C9,F7:K7,F8:K8,F9:K9,P7:R7,P8:R8,P9:R9,D16:U19,D20:I21,D22:F27,P20:U21,P22:R27,G31,G34,G37").Locked = False
Worksheets("HEMBRAS"). Protect "aqui la contraseña"

¡Muchas gracias! Ahora sí me sale.

Veo que es tu primera pregunta, acostúmbrate a valorar "Excelente" cuando te funciona la respuesta que te dan. De lo contrario desanimas a los expertos a responderte en el futuro.

Si te he ayudado, deberías calificar como Excelente, no como Útil

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas