sábado, 22 de mayo de 2010

Proteger hoja en Excel.

Un usuario, a través de un comentario, pedía una aclaración de cómo Proteger una hoja en nuestros Libros de Excel. El asunto necesariamente debe pasar, en primer lugar, por el Formato de celdas (Ctrl+1), ya que debemos conocer las opciones de una de las pestañas de este formato de celdas:

Proteger hoja en Excel.


Este punto es importante por que si pretendemos interactuar con nuestras hojas protegidas, tener o no marcada la opción de Bloqueada en la pestaña 'Proteger', nos habilitará para tal acción.
Por supuesto podremos seleccionar el rango de celdas que deseemos.
Una vez acalarado este punto, ya podremos dirigirnos a través del menú Revisar > Cambios > Proteger Hoja

Proteger hoja en Excel.


Lo primero que vemos en esta ventana diálogo es la posibilidad de 'Proteger hoja y contenidos de celdas bloquedas', que siempre marcaremos (de Perogrullo, ya que si hemos llegado hasta aquí es por que queremos proteger nuestra hoja!!); sin embargo es reseñable que sólo protegerá las celdas bloqueadas (ver primer párrafo del post).
Lo segundo que haremos será dar una contraseña para impedir trabajar sobre nuestra hoja protegida:

Proteger hoja en Excel.


como vemos nos pedirá confirmación de esta contraseña. Ni que decir tiene la importancia de recordarla en el futuro...

A continuación se detalla un listado corto de tareas que a nuestra discrección podremos permitir a los usuarios finales de la hoja de cálculo. Pero, a mi modo de ver, los más importantes son los dos primeros:
  • Seleccionar celdas bloqueadas

  • Seleccionar celdas desbloqueadas

Sencillo de entender, si tengo marcada la primera de ellas Seleccionar celdas bloqueadas, los usuarios finales de la hoja podrán moverse por todas las celdas de la hoja (bloqueadas o desbloqueadas), ya que es imposible marcar únicamente ésta.
Si tengo marcada sólo Seleccionar celdas desbloqueadas, los usuarios tan solo tendrán acceso a las celdas que previamente hayamos desbloqueado desde el Formato de celdas.

Por ejemplo, desbloqueemos las celdas B4 y C4 en primer lugar, y a continuación dirijámonos a Proteger Hoja y permitamos la opción de 'Seleccionar celdas desbloquedas'; esta configuración sólo permitirá movernos entre las únicas celdas desbloquedas. Siendo imposible ni tan siquiera movernos por las demás celdas de la hoja.
Si por contra, hemos marcado ambas opciones 'Seleccionar celdas bloqueadas y desbloquedas', aunque sí podemos movernos por todas las hojas, cualquier intento de modifcar o introducir un valor en las celdas bloquedas nos devolverá un mensaje de error:

Proteger hoja en Excel.
haz click en la imagen


Para quitar esta protección a nuestra hoja, sólo deberemos repetir los pasos, esto es, dirigirnos a través del menú Revisar > Cambios > Proteger Hoja.

13 comentarios:

  1. Buena página.
    Sirve de apoyo para aclarar dudas, me resultó práctico.
    Lo felicito.

    ResponderEliminar
  2. Buena pagina,la verdad me ha servido mucho para realizar mis talleres y mas ahora que me preparo para mi examen final de este semestre. Muchas gracias y exitos.

    ResponderEliminar
  3. Alguien sabe si ¿Es posible proteger y desproteger una hoja mediante VBA?
    Gracias por los aportes de todos y especialmente al bloguer

    ResponderEliminar
    Respuestas
    1. SI, es muy fácil

      en el procedimiento o Sub que crees colocas

      WorkSheet.Protect 'para proteger
      WorkSheet.UnProtect ' para desproteger

      Pero te recomiendo que dejes las celdas a modificar sin bloquear y cuando quieras modificar algo por código VBA solo tienes que poner al principio esto:

      WorkSheet.Protect UserInterfaceOnly:=True

      De esta manera la hoja esta Protegida solo para el Usuario y los cambios que hagas por código se harán sin dar error.

      saludos

      Eliminar
    2. Gracias JR por el aporte y la explicación!!

      Eliminar
  4. Me gustaría saber como contar positivos y negativos en una hoja de cálculo para mi asignatura, teniendo en cuenta que cada negativo baja 0,5 y cada positivo sube 0,25 a partir de un 5. Espero que alguien me la resuelva un saludo.

    ResponderEliminar
  5. Suponemos que necesitas hacer un conteo de datos en la columna A. Si tu puntuación de partida es el 5, y dependiendo del número de positivos se incrementa en 0,25 y por cada negativo disminuye 0,5. En la celda C1, por ejemplo, escribiríamos la fórmula:
    =5+(0,25*CONTAR.SI(A:A;">0"))-(0,5*CONTAR.SI(A:A;"<0"))
    Saludos

    ResponderEliminar
  6. Necesito ir un poco más allá...
    Quiero proteger una hoja, en la que tengo establecidas unas agrupaciones de filas, en plan esquema.
    Cuando protejo la hoja, esta acción también queda bloqueada. Me gustaría que cualquier usuario pudiera utilizar el esquema de filas, en sus diferentes niveles...
    ¿Es eso posible?

    ResponderEliminar
  7. Hola,
    por desgracia el estándar de Excel respecto a la protección de hojas es bastante limitada, dejando sólo libertad de permisos sobre una corta lista de acciones, entre las que no se encuentra utilizar el esquema.
    Saludos

    ResponderEliminar
  8. Hola, estoy necesitando "utilizar el esuqema" en una hoja con protección. Esto es imposible?
    Gracias.

    ResponderEliminar
  9. Hola,
    No, no es posible empleando la herramienta estándar... pero he revisado la documentación para asegurarme si es posible con macros... y si el agrupamiento, esto es, el autoesquema ya está generado, sería posible incluyendo este código VBA en el explorador de Proyectos > ThisWorkbook:
    Private Sub Workbook_Open()
    With Sheets("Hoja1")
    .Protect UserInterfaceOnly:=True
    .EnableOutlining = True
    End With
    End Sub

    Con ese código, cada vez que abras el fichero te permitirá poder trabajar con el Esquema.
    Slds

    ResponderEliminar
  10. El bloque de celdas funciona bien para la primera hoja de calculo, mas no para las siguientes hojas del mismo libro Excel ; favor aclarar.

    ResponderEliminar
    Respuestas
    1. Hola, que tal...
      pues no hay mucho que aclarar, esta herramienta protege UNA sola hoja, sobre la que estés actuando...
      si necesitas proteger todas las hojas del libro tendrás que ir una a una o bien aplicar un proceso con VBA
      Un cordial saludo

      Eliminar