Macro para bloquear celda luego de usarla 5 veces

Quisiera me aydaran con una Macro que que me permita bloquear una celda luego de usarla 5 veces

2 Respuestas

Respuesta
1

Pues la unica solucion qu ese me ocurre es usando una celda como contador, necesitas hacer dos pasos seleccionas todas las celdas que no quieres que se bloqueen y te vas a formato de celdas, en la pestaña de proteger le quitas la palomita y solo se la dejas a la que quieres bloquear.

Ahora, pones esta macro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B3")) Is Nothing Then
Range("C3") = Range("C3") + 1
End If
If Range("C3") >= 5 Then
ActiveSheet.Protect "hola"
Else
ActiveSheet.Unprotect "hola"
End If
End Sub

Como ejemplo en la celda C3 se usa un contador que aumenta cada que editas la celda B3 y cuando el contador llega a 5 se bloquea, puedes quitarles las lineas:

Else
ActiveSheet. Unprotect "hola"

para que solo se pueda desbloquear la hoja manualmente con la contraseña hola.

Respuesta
1

Debes dejar la (o las) celdas que necesitan ser modificadas 'desbloqueadas'. En el ejemplo son B3 (para el ingreso de datos) y C3 donde se guarda el contador.

Cada vez que se realice un cambio en B3 se incrementa el contador. Si llega a 5 se 'bloquea' la celda B3. Para esto hay que hacer los 3 pasos: desproteger la hoja, bloquear la celda y volver a proteger la hoja. La clave es opcional.

Private Sub Worksheet_Change(ByVal Target As Range)
'se controla el cambio en B3
If Not Application.Intersect(Target, Range("B3")) Is Nothing Then
    Range("C3") = Range("C3") + 1
    'se controla si el contador llegó a 5
    If Range("C3") >= 5 Then
        'desproteger la hoja, bloquear B3 y volver a proteger la hoja
        ActiveSheet.Unprotect "hola"
        Range("B3").Locked = True: Range("C3").Locked = True
        ActiveSheet.Protect "hola"
    End If
End If
End Sub

Si tienes un rango de más celdas y te presenta alguna dificultad ajustar el código a tu modelo enviame aclaraciones indicando el rango de trabajo.

Sdos. Y no olvides valorar esta respuesta.

Te recuerdo que esta consulta sigue aún abierta.

Por favor comenta y valora (opciones Buena o Excelente) para darla por cerrada.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas