Sé que es una tontería pero no doy con la solución. ¿Alguien me ayuda un poco?
Necesito proteger varias celdas por macro. La macro que he hecho es esta:
Private Sub Worksheet_Change(ByVal Target As Range)
If [b19*C19*E19*B20*C20*E20] <> 0 Then
ActiveSheet.Unprotect Password:="cuad"
Range("B3:B6").Locked = False
ActiveSheet.Protect Password:="cuad"
ElseIf [b19*C19*E19*B20*C20*E20] = 0 Then
ActiveSheet.Unprotect Password:="cuad"
Range("B3:B6").Locked = True
ActiveSheet.Protect Password:="cuad"
If [A23] = "Sólidos" Then
ActiveSheet.Unprotect Password:="cuad"
Range("B23").Locked = True
ActiveSheet.Protect Password:="cuad"
ElseIf [A23] <> "Sólidos" Then
ActiveSheet.Unprotect Password:="cuad"
Range("B23").Locked = False
ActiveSheet.Protect Password:="cuad"
End If
End If
End Sub
Y funciona perfectamente, pero necesito que a partir de la linea: " If [A23] = "Sólidos" Then "
la macro haga tambien lo mismo con la celda E23. O sea que la proteja y desproteja como hace con la B23.
No funciona poner : Range("B23;E23").Locked = True, ni : Range("B23:E23").Locked = True.
En definitiva la segunda parte de la macro (desde "If [A23] = "Sólidos" Then") que es la que me interesa modificar, lo que hace, como veis, es impedir escribir nada en la celda B23 protegiendola si en la celda A23 figura la palabra "Sólidos". Si hay escrito algo distinto de "Sólidos" la desprotege permitindo escribir en ella.
Lo mismo quiero para la celda E23.
Gracias por vuestra inestimable ayuda y un saludo.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola a todos.
Sé que es una tontería pero no doy con la solución. ¿Alguien me ayuda un poco?
Necesito proteger varias celdas por macro. La macro que he hecho es esta:
Private Sub Worksheet_Change(ByVal Target As Range)
If [b19*C19*E19*B20*C20*E20] <> 0 Then
ActiveSheet.Unprotect Password:="cuad"
Range("B3:B6").Locked = False
ActiveSheet.Protect Password:="cuad"
ElseIf [b19*C19*E19*B20*C20*E20] = 0 Then
ActiveSheet.Unprotect Password:="cuad"
Range("B3:B6").Locked = True
ActiveSheet.Protect Password:="cuad"
If [A23] = "Sólidos" Then
ActiveSheet.Unprotect Password:="cuad"
Range("B23").Locked = True
ActiveSheet.Protect Password:="cuad"
ElseIf [A23] <> "Sólidos" Then
ActiveSheet.Unprotect Password:="cuad"
Range("B23").Locked = False
ActiveSheet.Protect Password:="cuad"
End If
End If
End Sub
Y funciona perfectamente, pero necesito que a partir de la linea: " If [A23] = "Sólidos" Then "
la macro haga tambien lo mismo con la celda E23. O sea que la proteja y desproteja como hace con la B23.
No funciona poner : Range("B23;E23").Locked = True, ni : Range("B23:E23").Locked = True.
En definitiva la segunda parte de la macro (desde "If [A23] = "Sólidos" Then") que es la que me interesa modificar, lo que hace, como veis, es impedir escribir nada en la celda B23 protegiendola si en la celda A23 figura la palabra "Sólidos". Si hay escrito algo distinto de "Sólidos" la desprotege permitindo escribir en ella.
Lo mismo quiero para la celda E23.
Gracias por vuestra inestimable ayuda y un saludo.