Saltar al contenido

Proteger solo ciertas hojas de un libro de excel


Recommended Posts

publicado

Buenas noches, acudo nuevamente a Uds. para realizar la siguiente consulta:

Tengo un libro en Excel con varias hojas. Deseo que al cerrar el file, solo se protejan "ciertas hojas", no todas.

Estoy usando el siguiente código, el cual proteje todas las hojas del libro, quisiera modificarlo para cerrar el archivo y que automáticamente se protejan "algunas" hojas.

Sub Proteger_Hoja()

For Each Sheet In ThisWorkbook.Worksheets

If Not Sheet.ProtectContents Then

Sheet.Select

ActiveSheet.Protect ("Xxxxxx")

MsgBox "Se ha protegido la siguiente hoja : " & Sheet.Name, vbExclamation + vbOKOnly, "Proteger_Hoja"

End If

Next

End Sub

Por cierto, las hojas tienen nombres compuestos. Por ejemplo:

1ra. Hoja: Detalle de la Gestión.

2da. Hoja: Total de la Gestión.

3ra. Hoja: Cálculo de la Gestión.

Lo que necesito es proteger la 1ra. y 3ra. Hoja al cerrar el archivo, y que la 2da. quede sin protección.

Muchísimas gracias de antemano!!!! ;)

publicado

Hola, please alguien podría ayudarme con este tema?

He intentado modificar el código incluyendo el nombre de las hojas que quiero proteger y no lo he logrado... :(

publicado

El código anexo protege todas las hojas al cerrar el libro y solo necesito que proteja algunas...

Sub Proteger_Hoja()

For Each Sheet In ThisWorkbook.Worksheets
If Not Sheet.ProtectContents Then
Sheet.Select
ActiveSheet.Protect ("Xxxxxx")
MsgBox "Se ha protegido la siguiente hoja : " & Sheet.Name, vbExclamation + vbOKOnly, "Proteger_Hoja"
End If
Next
[/CODE]

Alguien podría ayudarme, please!!!!

publicado

Hola Jeani Buenas noches.

Si lo que necesitas es proteger solo determinadas hojas puedes hacer lo siguiente:

Sub Proteger_Hoja()

Sheets("Hoja1").Protect "1234"

Sheets("Hoja2").Protect "1234"

Sheets("Hoja3").Protect "1234"

End Sub

Este codigo lo mandas a llamar desde el evento before_close del objeto Workbook .

Te puse tres ejemplos suponiendo que son tres hojas las que quieres proteger, en caso de ser mas o menos hojas ya lo modificas a tus necesidades.

Espero que sea de tu ayuda.

Saludos!!!

publicado

Hola Gilberto, muchas gracias x responder.

Intenté con el código que indicas pero me muestra el siguiente error: "Subíndice fuera del intervalo.

Sub Proteger_Hoja()
Sheets("Detalle Gestión Config.").Protect "XXXXX"
Sheets("Detalle Config. x aplicativo").Protect "XXXX"
Sheets("Producción x aplicativo").Protect "XXXXX"
MsgBox "Se ha protegido la siguiente hoja : " & Sheet.Name, vbExclamation + vbOKOnly, "Proteger_Hoja"

End Sub[/CODE]

No sé cual será mi falla....

Agradezco tu apoyo!!!! :(

publicado

Hola Gilbero, gracias por responderme.

Intenté eliminando el Msgbox, pero el error: "Subíndice fuera del intervalo", persiste igual. También verifiqué los nombres de las hojas y son exactos a los que menciono en el código.

Lo que necesito es que al cerrar el libro Excel bloquee las 3 hojas que menciono y me indique mediante un mensaje que realizó esa acción, en caso que alguna de las hojas estuviera desprotegida al cerrar el libro. Las otras hojas que no se mencionan quedarían siempre desbloqueadas.

De antemano gracias x estar pendiente!!!!

publicado

Por cierto, el código que utilizé me lo facilitaste tú amablemente y no tuve ningún problema, al proteger todas las hojas. El inconveniente se present cuando intenté modificarlo.

Adicionalmente, aprovecho la oportunidad para consultarte acerca de 2 temas que actualmente tengo pendientes, uno sobre listas desplegables y otro acerca del llenado obligatorio de celdas por fila. Si tienes algún conocimiento sobre estos temas, please ayúdame, porque no sé como abordarlos.

Gracias de antemano y disculpa el abuso!!! :mad:

publicado

Buenas noches, por favor podrían ayudarme con esta consulta.... Lo que quiero es proteger solo algunas hojas del libro y que me envié el mensaje con las hojas que fueron protegidas.

Muchas gracias x su apoyo,

Jeani.

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.