Proteger hoja de libro con formulario de excel

Tengo un formulario hecho con VBA que al introducir datos en él, alimenta una hoja de cálculo a modo de "informe final".
Me gustaría proteger la hoja de cálculo informe final de manera que el usuario no pueda corregir fórmulas, formatos, etc.
Utilicé la opción, Herramientas/Proteger hoja, pero claro, no me deja modificar datos del informe final.
¿No existe otra forma?

1 Respuesta

Respuesta
1
La forma que estás intentando (Herramientas / Proteger Hoja) es la correcta, solo que deberías agregar al formulario el tema de desproteger la hoja antes de "trabajar" sobre ella; tu código final (del formulario) debería ser algo como
Sub ...
Sheets("Informe final").UnProtect Password:="TuContraseña"
...
Tu código
...
Sheets("Informe final").Protect Password:="TuContraseña"
End Sub
Antes de todo muchas gracias por tu atención.
El tema es que este formulario será utilizado por otros usuarios (yo después analizaré los informes finales) entonces no quiero que manipulen las fórmulas que incluyo en dicha hoja de cálculo. Si ellos desprotegen la hoja antes de empezar a trabajar podrán cambiar dichas fórmulas y entonces tendré que revisarlas nuevamente.
¿No existe una manera en la que las fórmulas de la hoja (y el formato del informe) se mantengan protegidas aún cuando incorporan nuevos datos desde el formulario?
Un saludo
No la cambian ellos; lo haces vos en el código del formulario (que ellos no deberían ver).
Respecto a tu última pregunta; pues justamente la idea de la protección es para que no le hagan cambios...
Perdona Gellay, pero no termino de entenderlo perfectamente.
¿Cómo se completaría el código que me propones? ¿Así?
SubPrivate UserForm1_Active()
Sheets("Informe final").Protect Password:="MiContraseña"
End Sub
y luego
Sub Private CommandButton5_AfterUpdate()
Sheets("Informe final").Protect Password:="MiContraseña"
End Sub
El CommandButton5 es para cerrar el formulario
No entiendo, el trabaja con el usuario trabaja con el userform, ¿verdad? Supongo que tenés algún botón para pasar los datos del formulario a la hoja excel, ESE debería ser el procedimiento que tiene el Protect

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas