Excel: bloquear datos

Compartimos una hoja de Excel que manejamos varias personas, cargando datos en una columna. ¿Cómo podemos hacer para que cada vez que se escribe un dato, éste ya no pueda ser modificado? ¿Se puede hacer con una macro o alguna otra opción?
DOM, 9 / JUN / 2013

Para que una celda no pueda ser modi­ficada se deben dar dos condiciones:

  • La celda debe estar bloqueada.
  • La hoja debe estar protegida.

Lo primero se hace con las opcio­nes [Formato/Celdas]. En la ficha [Proteger], debe estar marcada la opción [Bloqueada]. Lo segundo se logra con las opciones [Herramientas/Proteger/Proteger hoja].

Supongamos la situación inicial de la hoja, sin datos. Para poder escribir un nuevo dato, la celda debe estar des­bloqueada. Una vez que el dato ha sido escrito, se debe bloquear esa celda y activar la protección de la hoja. Esto impide que el dato sea modificado.

Para poder escribir un segundo dato, hay que desactivar la protección de la hoja, blo­quear la celda donde se escribió el segundo dato y luego volver a activar la protección de la hoja. La protección se desactiva momentáneamente para poder modificar el estado de bloqueo de la celda.

Todo lo anterior debe hacerse automá­ticamente cada vez que se escribe un nuevo dato. Esto puede lograrse con la siguiente macro:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Then

ActiveSheet.Unprotect

Target.Locked = True

ActiveSheet.Protect

End If

End Sub

Por tener el nombre especial Worksheet_Change, esta macro se eje­cuta automáticamente al cambiar cual­quier dato de la hoja. La macro primero verifica que el dato se esté escribiendo en la columna [A], que suponemos que es la que recibe los datos. Luego desacti­va la protección global, bloquea la celda y vuelve a activar la protección.

Esta macro debe escribirse en la ventana de código de la hoja:

1. Tomamos las opciones [Herramientas/Macro/Editor de Visual Basic].

2. Una vez dentro del editor, tomamos las opciones [Ver/Explorador de proyectos].

3. Sobre el explorador (que se parece al explorador de archivos de Windows) seleccionamos la rama correspondiente a la hoja en la que escribimos los datos.

4. Tomamos las opciones [Ver/Código].

Esto abre una ventana donde escribimos la macro anterior.

Antes de ejecutar la macro, tenemos que desbloquear todas las celdas donde se escribirán los datos. Si, por ejemplo, se escriben en la columna [A]:

1. Seleccionamos la columna [A].

2. Tomamos las opciones [Formato/Celdas].

3. Seleccionamos la ficha [Proteger].

4. Desmarcamos la opción [Bloqueada].

5. Hacemos clic en [Aceptar].

A partir de ahora, podemos escribir datos en la columna [A]. Cada nuevo dato será inmodificable: cuando queramos modificar o borrar algún dato, aparecerá el mensaje que avisa que no podemos hacerlo.

 

Para impedir que una celda sea modificada, esta debe estar bloqueada y la protección global de la hoja, activada.

 

Estamos tratando de modificar un dato. Como la celda del dato está bloqueada y la protección de la hoja está activada, no podemos hacer la modificación.

 

Comentarios
¡Comparte esta noticia!

Últimos lanzamientos Ver más

Leave a Reply