Cómo bloquear celdas cuando otra tiene un valor determinado

02/02/2005 - 14:47 por msb | Informe spam
Necesito bloquear contra escritura un determinado rango de celdas siempre y
cuando una celda en concreto contenga un valor determinado
 

Leer las respuestas

#1 Benito Merino
02/02/2005 - 22:41 | Informe spam
Hola.

Mediante un evento puedes controlar esta situación:

El siguiente ejemplo te funcionará:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$1" Then
If Target.Value = "a" Then
Range("A1:C5").Locked = True
ActiveSheet.Protect Password:="clave"
ElseIf Target.Value = "b" Then
ActiveSheet.Unprotect Password:="clave"
Range("A1:C5").Locked = False
End If
End If
End Sub

Cuando en la celda D1 se introduce la letra "a", marca el rango "A1:C5" como
protegido y protege dicha hoja de cálculo con el password "clave". Al
introducir la letra "b" reestablece la situación de la hoja.


Al tratarse de un evento no debes colocarlo en un módulo normal sino dentro
de vba project en "Microsoft Excel Objetos", en aquel correspondiente a la
Hoja en la que tengas que proteger el rango.

Saludos,

Benito
Barcelona
"msb" escribió:

Necesito bloquear contra escritura un determinado rango de celdas siempre y
cuando una celda en concreto contenga un valor determinado

Preguntas similares