Desbloquear y bloquear hoja de Excel por VBA
Tengo un problemilla con una hoja de Excel.
Tengo unas celdas con una fórmula condicional que permite rescatar el valor de otra celda. En el caso de no cumplir la condición, me la deja vacía.
Esta hoja está protegida por mi y aquí es donde viene el problema.
Por VBA tengo el siguiente código:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'ActiveSheet.Unprotect --> esto está comentado
If Target = "" Then
Target.ClearContents
With Selection.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="5, 6"
End With
End If
If Target <> "" Then
Target.Validation.Delete
ActiveCell.Formula = "=IF(OR(RC[-1]=""NP"",RC[-1]<5),"""",RC[-1])"
'ActiveSheet.Protect --> esto está comentado
End If
Lo que pretendo es, estando protegida la hoja, poder dar un doble click en aquellas celdas que estén sin resultado y que me salga un desplegable para seleccionar 5 o 6 y se bloquee. Y que, si hago un doble click en una celda con resultado, que me devuelva la fórmula que hay originalmente y se bloquee. Pero he tratado de mil maneras y me devuelve un error cuando pretendo seleccionar el dato del desplegable.
Espero haberme explicado claramente y que alguien me dé algo de luz al respecto.