Desbloquear celdas especificas al capturar información especifica en otra celda

Ocupo una macro que me desbloquee celdas que ya tengo bloqueadas (ejemplo: B1, C4, D9, E10, G4) si no se captura información especifica (VALOR NUMÉRICO, DE 4 CARACTERES "####" ) en otra celda (ejemplo: A1) y que se bloqueen si la información en (A1) es borrada o no cumple con la condición de "####".

Sin más por el momento le agradezco su tiempo.

1 respuesta

Respuesta
1

La macro debes colocarla en el objeto HOJA donde vayas a controlar la celda A1. Si la hoja tiene clave debes agregarla en las 2 líneas (Unprotect y Protect). Por ej.

ActiveSheet.Unprotect ("mi_clave")

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla lo ingresado en F1
If Target.Address <> "$A$1" Then Exit Sub
'se desprotege la hoja
ActiveSheet.Unprotect
'si se borra la celda se bloquean las otras celdas
If Target = "" Then
    Range("B1, C4, D9, E10, G4").Locked = True
Else
    'datos correctos
    Range("B1, C4, D9, E10, G4").Locked = False
End If
'se vuelve a proteger la hoja
ActiveSheet.Protect
End Sub

Ahora si solo se permitirán 4 dígitos numéricos, podés usar la validación de datos. 

Seleccioná la celda A1 y desde menú Validación dejá la opción 'Largo de texto' y entre valores 1000 a 9999.

Si esta respuesta resuelve tu consulta no olvides valorarla, sino comenta y la seguimos tratando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas