Proteger varias hojas

26/01/2006 - 12:58 por Raúl Z. | Informe spam
Hola a toda la comunidad:
Tengo un libro con muchas hojas y las tengo a todas protegidas (siempre el
mismo password) a veces tengo que hacer alguna modificación y tengo que
desproteger una a una todas las hojas, hay alguna forma de protegerlas a
todas en un solo paso? Gracias.

Raúl
Gualeguay (ER) - Argentina

Preguntas similare

Leer las respuestas

#6 Raúl Z.
26/01/2006 - 16:45 | Informe spam
Gracias KL
Procedí a asignar botones a las macros, y protegí el proyecto, pero igual
funciona desde los botones sin pedirme el password.

Raúl Z

"KL" escribió:

Hola Raul,

Yo lo que haria es asignar los macros a unos botones y protejer el proyecto VBA. Aunque no sea demasiado seguro, algo es algo. En
todo caso, si alguien quiere desproteger tus hojas o la estructura de libro es cuestion de segundos y gratis, y para desproteger un
proyecto VBA tambien son segundos, pero ahbria que pagar unos 45-50 dolares USA.

Saludos,
KL


"Raúl Z." wrote in message news:
> Excelente KL y muchas gracias
> Funcionó muy bien, ahora la consulta es que este VBA, la puede ejecutar la
> persona que tiene el archivo, como se puede hacer para que éste no lo vea. Se
> entiende?
> Quizás tenga q borrar el código una vez ejecutado ?
> Corrección: Para ejecutar la macro es "Alt+F8"
>
> Raúl
>
>
> "KL" escribió:
>
>> Hola Raul,
>>
>> Si, se puede hacer por codigo VBA. Para ello...
>>
>> 1) Haz clic-derecho sobre el pequeno logo de Excel a la izquierda del menu Archivo
>> 2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
>> 3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
>> 4) En la ventana mas grande a la derecha pega el codigo que te pongo a continuacion:
>>
>> '--Inicio del codigo--
>> Const Clave = "abracadabra" ' cambia tu clave aqui
>>
>> Sub ProtegerTodas()
>> Dim Hoja As Worksheet
>> For Each Hoja In ThisWorkbook.Worksheets
>> Hoja.Protect Clave
>> Next Hoja
>> End Sub
>>
>> Sub DesprotegerTodas()
>> Dim Hoja As Worksheet
>> For Each Hoja In ThisWorkbook.Worksheets
>> Hoja.Unprotect Clave
>> Next Hoja
>> End Sub
>> '--Fin del codigo--
>>
>> 5) Pulsa Alt+F11 para volver a la hoja.
>> 6) Ahora para llamar el macro solo tienes que pulsar las teclas Ctrl+F8 y hacer doble clic sobre "ProtegerTodas" (tambien podrias
>> asignar el codigo a un boton)
>> 7) El codigo llamado "DesprotegerTodas" servira para hacer lo contrario y se ejecuta de la misma manera.
>>
>> Saludos,
>> KL
>>
>>
>> "Raúl Z." wrote in message news:
>> > Hola a toda la comunidad:
>> > Tengo un libro con muchas hojas y las tengo a todas protegidas (siempre el
>> > mismo password) a veces tengo que hacer alguna modificación y tengo que
>> > desproteger una a una todas las hojas, hay alguna forma de protegerlas a
>> > todas en un solo paso? Gracias.
>> >
>> > Raúl
>> > Gualeguay (ER) - Argentina
>>
>>


Respuesta Responder a este mensaje
#7 KL
26/01/2006 - 16:59 | Informe spam
Perdon, habia entendido que el problema estaba en que un usuario podria ver la clave. Si lo que quieres es que el usuario que no
conozca la clave no pueda ejecutar el codigo entonces ademas de lo que te he recomendado ya, sigue el consejo de Manuel y cambia el
codigo por el que te pongo mas abajo.

Saludos,
KL

'--Inicio del codigo--
Const Clave = "abracadabra" ' cambia tu clave aqui

Sub ProtegerTodas()
Dim Hoja As Worksheet, Respuesta As String
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Protect Clave
Next Hoja
End Sub

Sub DesprotegerTodas()
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
Dim Hoja As Worksheet
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Unprotect Clave
Next Hoja
End Sub
'--Fin del codigo--
Respuesta Responder a este mensaje
#8 Raúl Z.
26/01/2006 - 17:51 | Informe spam
Excelente tu respuesta KL,
Obviamente todo esto hay que realizarlo y luego proteger el proyecto.
Gracias KL

"KL" escribió:

Perdon, habia entendido que el problema estaba en que un usuario podria ver la clave. Si lo que quieres es que el usuario que no
conozca la clave no pueda ejecutar el codigo entonces ademas de lo que te he recomendado ya, sigue el consejo de Manuel y cambia el
codigo por el que te pongo mas abajo.

Saludos,
KL

'--Inicio del codigo--
Const Clave = "abracadabra" ' cambia tu clave aqui

Sub ProtegerTodas()
Dim Hoja As Worksheet, Respuesta As String
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Protect Clave
Next Hoja
End Sub

Sub DesprotegerTodas()
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
Dim Hoja As Worksheet
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Unprotect Clave
Next Hoja
End Sub
'--Fin del codigo--


Respuesta Responder a este mensaje
#9 Racso
31/01/2006 - 01:39 | Informe spam
Hola,
Disculpen que intervenga asi... Les cuento que también me ha servido las
sugerencias de KL y Manuel.
Además, si me permite KL, podria alguno indicarme donde encuentro un ejemplo
de codigo que haga las mismas funciones que el menu DATOS/validación ( por
lista).
Gracias

"KL" escribió:

Perdon, habia entendido que el problema estaba en que un usuario podria ver la clave. Si lo que quieres es que el usuario que no
conozca la clave no pueda ejecutar el codigo entonces ademas de lo que te he recomendado ya, sigue el consejo de Manuel y cambia el
codigo por el que te pongo mas abajo.

Saludos,
KL

'--Inicio del codigo--
Const Clave = "abracadabra" ' cambia tu clave aqui

Sub ProtegerTodas()
Dim Hoja As Worksheet, Respuesta As String
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Protect Clave
Next Hoja
End Sub

Sub DesprotegerTodas()
Respuesta = InputBox("Introduzca la clave:")
If Respuesta <> Clave Then
MsgBox "Vd. no esta atorizado para ejecutar este codigo."
Exit Sub
End If
Dim Hoja As Worksheet
For Each Hoja In ThisWorkbook.Worksheets
Hoja.Unprotect Clave
Next Hoja
End Sub
'--Fin del codigo--


Respuesta Responder a este mensaje
#10 cheryl
03/06/2011 - 00:05 | Informe spam
Raúl Z. escribió el 26/01/2006 12:58 :
Hola a toda la comunidad:
Tengo un libro con muchas hojas y las tengo a todas protegidas (siempre el
mismo password) a veces tengo que hacer alguna modificación y tengo que
desproteger una a una todas las hojas, hay alguna forma de protegerlas a
todas en un solo paso? Gracias.

Raúl
Gualeguay (ER) - Argentina


Hola Kl

Te felicito, esta forma de desproteger y proteger las hojas es excelente, sencillo y perfecto. Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida