congelar hojas

30/01/2006 - 01:13 por Alex | Informe spam
Hola a todos, quisiera que me ayuden con esta. Cual serìa la mejor manera de
congelar varias hojas de un libro. La idea es hacer Clic en un boton y que
este me congele o bloquèe una hoja, como cuando uno le pone contraseña. O
colocar una opciones de Bloquear Hoja? Si, No, y luego realizar la acciòn.
Gracias por adelantado.
**Alex**

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/01/2006 - 02:07 | Informe spam
hola, Alex !

Cual seria la mejor manera de congelar varias hojas de un libro.
La idea es hacer Clic en un boton y que este me congele o bloquee una hoja, como cuando uno le pone contrase#a.
O colocar una opciones de Bloquear Hoja? Si, No, y luego realizar la accion.



lo primero que te sugeriria... es definir una funcion personalizada que 'averigue' si 'la hoja' ya estuviera protegida [o no] :))
despues... un procedimiento que 'pregunte' si se desea [des]proteger 'la hoja' [o no] ;)
las posibles 'variaciones' en los codigos... pudieran depender de otros factores [como]...
-> necesitas una clave para 'la hoja' [o si se trata de varias hojas... una distinta en cada hoja] -?-
-> la macro la vas a asignar a un objeto incrustado en la/s hoja/s ? [y de que tipo: formularios, activex, autoforma, atajo, ...] -?-
[por si deseas 'manpular' la proteccion -solo- de la hoja 'activa'... o de cualquiera otra] :))
-> el codigo se usaria en 'cualquier' version de excel ? [97 y 2000 NO requieren repetir passwords, 2002 -> SI]
aunque... si 'le dejas' el [o los] password/s en la macro... no 'estorbaria-n' :))

por lo pronto, el siguiente ejemplo NO asigna contrase#a... y puede 'afectar' a cualquier hoja [no solo la activa] -> UNA POR VEZ
-> si deseas que la hoja 'afectada' sea la hoja activa... -> cambia [en el codigo del procedimiento 'Ask_4_Protection']...
de -> With Worksheets("Hoja2")
a -> With ActiveSheet

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Ask_4_Protection()
With Worksheets("Hoja2")
If HojaProtegida(.[a1].Parent) Then GoTo QuitarProteccion
If MsgBox("Deseas proteger " & .Name & " ?", vbYesNo) = vbNo Then Exit Sub
.Protect "", True, True, True: Exit Sub
QuitarProteccion:
If MsgBox("Deseas desproteger " & .Name & " ?", vbYesNo) = vbYes Then .Unprotect
End With
End Sub
Private Function HojaProtegida(Optional ByVal Hoja As Worksheet) As Boolean
If Hoja Is Nothing Then Set Hoja = ActiveSheet
HojaProtegida = _
Hoja.ProtectContents Or _
Hoja.ProtectDrawingObjects Or _
Hoja.ProtectScenarios: Set Hoja = Nothing
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida