Problema Excel

Tengo un cuadro de notas en donde quiero que el maestro introduzca las notas de cada alumno pero, una vez puestas que esas notas no puedan ser modificadas.
Había utilizado esto:
Sub proteger(strCelda As String, bloq As Boolean)
    Dim pass As String
    pass = "nolosabe"
    ActiveSheet.Unprotect pass
    ActiveSheet.Range(strCelda).Locked = bloq
    ActiveSheet.Protect Password:=pass, DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "&C$5" Or _
       Target.Address = "$C$6" Or _
       Target.Address = "$C$7" Or _
       Target.Address = "$C$8" Or _
       Target.Address = "$C$9" Or _
       Target.Address = "$C$10" Or _
       Target.Address = "$C$11" Or _
       Target.Address = "$C$12" Or _
       Target.Address = "$C$13" Or _
       Target.Address = "$C$14" Or _
       Target.Address = "$C$15" Then
           proteger Target.Address, (Target.Value <> "")
    End If
End Sub
Pero al colocar el código de la siguiente columna me dice que hay encontrado un dato ambiguo..
Necesito ayuda por favor.
Gracias!

1 Respuesta

Respuesta
1
Las rutinas están correctas, solo que estás errando en el evento.
Debes utilizar Change (cambios), no SelectionChange (selección).
Private Sub Worksheet_Change(ByVal Target As Range)
Demás está decir que el rango C5:C15 previamene tendrá las celdas desbloqueadas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas