Prueba con la siguiente macro.
Cambia "C2:C6" por el rango que vas a validar.
Private Sub Worksheet_Change(ByVal Target As Range)
'Por Dante Amor
'Permite ingresar un dato solamente en una celda del rango
Set rango = Range("C2:C6")
If Not Intersect(Target, rango) Is Nothing Then
If Target.Count > 1 Then
MsgBox "Solamente se permite modificar una celda"
Application.EnableEvents = False
For Each c In Target
c.Value = ""
Next
Application.EnableEvents = True
Else
ActiveSheet.Unprotect "abc"
rango.Locked = True
Target.Locked = False
ActiveSheet.Protect "abc"
End If
End If
End Sub
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- En el panel del lado derecho copia la macro
Para que las celdas de una hoja queden bloqueadas, la hoja debe quedar protegida.
Cambia en la macro "abc" por el password que desees para proteger la hoja.
Funciona de esta forma, captura un dato en una celda de tu rango, después de presionar enter, las demás celdas del rango quedarán bloqueadas y la hoja protegida.
Si no es lo que necesitas, entonces podrías poner imágenes de lo que tienes, explicando con los ejemplos de tu imagen cómo quieres que funcione.