
Tengo un libro de trabajo con muchas hojas, macros y cálculos en marcha. Ahora necesito enviar esta hoja (no previsto antes de ayer). ¿Cómo lo bloqueo para que los usuarios:
- ¿No puedes acceder/ver las macros?
- ¿No pueden mostrar las hojas ocultas?
- no pueden ver el código ni agregar código/
Revisé y desbloqueé las celdas que quiero que cambien. Filas ocultas de botones y fórmulas y luego bloqueadas. Hojas de trabajo ocultas. Ahora he protegido la hoja de trabajo con una contraseña.
Sin embargo,¿Esto impide que los usuarios accedan a las macros/códigos?o¿mostrar hojas?Si no es así, ¿cómo puedo bloquear el libro de forma correcta/segura/totalmente?
Suena como un tipo de protección de seguridad de hermano mayor, pero solo me aseguro de que todas las celdas interconectadas no se cambien accidentalmente o que se ejecute una macro que no necesito que ejecuten.
Muchas gracias
Miguel.
Respuesta1
Primero: tenga en cuenta que la mayoría de las funciones de protección en Excel sonnocaracterísticas de seguridad. La mayoría se rompen o evitan con bastante facilidad. Están bien para detener daños accidentales, pero no detendrán a nadie que sepa lo que está haciendo y realmente quiera ver las partes que has ocultado.
Dicho esto, aquí hay algunas respuestas:
Protección inicial
Ya has cubierto esto, básicamente bloquear celdas y ocultar cosas necesarias.
Entonces protegecadahoja.
Luego proteja el libro de trabajo.
Sábanas muy escondidas
Las hojas se pueden hacer "muy" ocultas, esto significa que solo se pueden mostrar a través de VBA (no aparecen en la lista para mostrar en la interfaz). Esto simplemente se hace a través de una línea de VBA, que debe ejecutarse al menos una vez para activar el cambio de configuración, y no es necesario conservarlo en el archivo una vez ejecutado (pero esto puede ser útil para recordar qué hojas mostrar). más tarde):
Sheets("Sheet1").Visible = xlVeryHidden
Código VBA oculto
Establece una contraseña en tu proyecto. Desde el editor de VBA, haga clic derecho en su módulo en Project Explorer
, elija <ProjectName> Properties
y establezca una contraseña en la Protection
pestaña.
Tenga en cuenta que estos pueden abrirse por fuerza bruta.
Macros ocultas
Supongo que aquí te refieres a que no quieres que aparezcan en la lista de macros cuando alguien abre la Run Macro
ventana.
Para hacer esto, cree la macro deseada a Private Sub
o a Function
, esto las hace no visibles como macros pero aún permite que otro código las llame en el mismo módulo.
No creo que no puedas evitar que la gentecorrerlas macros visibles y no puede asignar macros ocultas a los botones.
Respuesta2
Si sólo desea que los destinatarios no cambien algunos bits accidentalmente, la protección de Excel será suficiente. Pero si hay datos confidenciales que no desea que las personas que reciben el libro puedan ver, no sirven.
Si solo desea mostrar los datos y no el formato, una forma sencilla de "eliminar" todos los datos ocultos es exportar cada hoja como CSV y luego volver a importarlas como un nuevo libro de Excel. (El segundo paso es estrictamente opcional, pero la gente no está acostumbrada a los archivos CSV, por lo que es mejor enviar un archivo de Excel como esperan).
Si desea tener un resultado presentable que la gente no pueda modificar, imprima las hojas en un archivo PDF y envíelo.