Proteger celdas desbloqueadas

Llevo días peleándome con un tema, protejo un hoja de excel mediante una macro, antes de proteger bloqueo toda la hoja excepto la columna F. El problema es que cuando vuelvo a abrir el libro excel, la hoja ya no tiene las celdas bloqueadas y si la copiamos podemos pegarla en otro libro y ver todas la información.
Te adjunto el código, aver si me puedes echar una macro, porque por más que busco la respuesta en los foros no encuentro la correcta.
Cells.Select ' selcciona todas las celdas de la hoja
Selection.Locked = True ' las marca como bloqueadas
Range("F:F").Select ' selecciona el columna f
Selection.Locked = False ' la marca como desbloqueada (para que me permita buscar por esa columna)
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="contraseña", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells ' selecciona celdas desbloqueadas
ActiveSheet.EnableSelection = xlNoSelection

1 respuesta

Respuesta
1
Prueba de esta forma:
Columns("F:F").Select
Selection.Locked = False ' la marca como desbloqueada (para que me permita buscar por esa columna)
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="contraseña", DrawingObjects:=True, Contents:=True, Scenarios:=True
[email protected]
Juan Carlos; la ultima linea del código no la tengas en cuenta se me ha colado al pegar el código pero no lo utilizo.
ActiveSheet.EnableSelection = xlNoSelection
Hola amigo, no me ha funcionado. Me sigue pasando lo mismo si cierro el libro al volverlo a abrir permite seleccionar las celdas bloqueadas y si copio la hoja y la pego en otro libro veo todos los datos incluso columnas que estaban ocultas y bloqueadas.
Te aseguro que he probado mil maneras diferentes de hacerlo y siempre me pasa lo mismo. Estoy un poco desesperado con el asunto. Espero tengas la solución. Gracias.
Juan carlos, te adjunto el código entero de la macro con las modificaciones que me has indicado, por si acaso te ayuda para ver donde esta el error. La verdad que por más que le doy vueltas no entiendo porque no funciona...
Sub HistoricoDesacerFiltro()
ActiveSheet.Unprotect "contraseña"
Selection.AutoFilter
Columns("C:BQ").Select
Selection.EntireColumn.Hidden = False
Rows("8:8").Select
Selection.ClearContents
Range("C8").Select
Cells.Select ' selcciona todas las celdas de la hoja
Selection.Locked = True ' las marca como bloqueadas
Selection.FormulaHidden = False
Columns("F:F").Select
Selection.Locked = False ' la marca como desbloqueada (para que me permita buscar por esa columna)
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="contraseña", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Muchas Gracias.
Para que puedas proteger el libro desde el inicio tienes que crear una macro que lo haga:
Sub Auto_Open()
ActiveSheet. Unprotect "contraseña"
Selection. AutoFilter
Columns("C:BQ").Select
Selection.EntireColumn.Hidden = False
Rows("8:8").Select
Selection.ClearContents
Range("C8").Select
Cells.Select ' selcciona todas las celdas de la hoja
Selection.Locked = True ' las marca como bloqueadas
Selection.FormulaHidden = False
Columns("F:F").Select
Selection.Locked = False ' la marca como desbloqueada (para que me permita buscar por esa columna)
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="contraseña", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Prueba con esto.
[email protected]
Lo siento amigo, pero nada de nada, todo sigue igual, cuando guardo y vuelvo a abrir, permite seleccionar todas las celdas y puedo copiar y pegar en otro libro y ver todas las columnas ocultas. Las columnas Ocultas son la A y la B, realmente son las únicas que me interesa proteger para que no se vean.
No se que hacer, te aseguro que antes de consultarte lo he probado de mil maneras distintas pero con todas me pasa lo mismo. No obstante lo único que has hecho ha sido cambiar el nombre de Sub, ¿no? Buenos que se yo...
Ojala me puedas ayudar, porque me ha costado muchísimas horas hacer el excel y este punto es vital. Gracias por tu tiempo, de nuevo.
Hola amigo, me acab de funcionar, le he añadido al final de tuy macro la instrucción:
ActiveSheet.EnableSelection = xlUnlockedCells ' selecciona celdas desbloqueadas
Y me ha funcionado. Gracias, gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas