Amigo lo que yo intentaria seria pedir una
clave de confirmacion como lo ise en esta peque;a modificacion.
private sub
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pregunta1 As Integer
Dim paso As String
paso = 100
pregunta1 = MsgBox("¿Está usted autorizado para modificar?", vbQuestion + vbYesNo)
If pregunta1 = 6 Then
respuesta = UCase$(InputBox$("Su Indentificación", "Datos del Usuario"))
If respuesta = paso Then
ActiveSheet.Unprotect
Else
MsgBox "Error de datos", vbCritical, "Error"
End If
Else
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Para que pida una clave por cada usuario puedes crear una pequeña base de datos en la cual esten todos los usuarios y sus claves respectivas de esta forma solo tendrias que verificar que algunas de las claves sean semejantes a la de tu base y listo, de esta forma solo creas campos para poder ver el historia de entradas