Protección del libro de trabajo de VBA (proteger / desproteger con contraseña)

Excel le permite proteger sus libros de Excel de los cambios. Este tutorial le mostrará cómo proteger o desproteger la estructura del libro de trabajo usando VBA.

Protección del libro de trabajo de VBA

La protección del libro de trabajo de VBA le permite bloquear la estructura del libro de trabajo. Cuando un libro de trabajo está protegido, los usuarios no podrán agregar, eliminar, ocultar / mostrar o proteger / desproteger hojas de trabajo. Si está creando un modelo, probablemente desee activar la protección del libro de trabajo para evitar que los usuarios (¡o usted!) Eliminen accidentalmente hojas de trabajo.

Desproteger libro de trabajo VBA

Para desproteger un libro de trabajo, simplemente use la siguiente línea de código:

1 Libros de trabajo ("Libro1"). Desproteger

Nota: este código solo funcionará si el libro de trabajo estaba protegido sin una contraseña. Si estaba protegido con contraseña, también debe ingresar la contraseña para desprotegerlo:

Desproteger el libro de trabajo con contraseña

Esta línea de código desprotegerá un libro de trabajo que haya sido protegido con una contraseña:

1 Libros de trabajo ("Libro1"). Desproteger contraseña: = "contraseña"

o puede omitir la contraseña: =

1 Libros de trabajo ("Libro1"). Desproteger "contraseña"

Desproteger este libro de trabajo

Este código desprotegerá ThisWorkbook (ThisWorkbook es el libro de trabajo donde se almacena el código en ejecución. Nunca cambiará).

1 ThisWorkbook.Desproteger

o desproteja ThisWorkbook con una contraseña:

1 ThisWorkbook.Desproteger "contraseña"

Desproteger ActiveWorkbook

Este código desprotegerá el ActiveWorbook.

1 ActiveWorkbook.Unprotect

o desproteja el ActiveWorkbook con una contraseña:

1 ActiveWorkbook.Unprotect "contraseña"

Desproteger todos los libros abiertos

Este código desprotegerá todos los libros abiertos:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb como libro de trabajoPara cada wb en libros de trabajowb.DesprotegerSiguiente wbEnd Sub

Desproteger el libro de trabajo: sin conocer la contraseña

Si necesita desproteger un libro sin conocer la contraseña, existen varios complementos para ayudarlo. Recomendaría Ribbon Commander.

Desproteger todas las hojas del libro

Después de desproteger un libro de trabajo, es posible que también desee desproteger todas las hojas del libro. A continuación, se muestra un procedimiento que desprotegerá todas las hojas:

12345678 Sub UnProtectWorkbookAndAllSheets ()Dim ws como hoja de trabajoActiveWorkbook.UnprotectPara cada ws en hojas de trabajoDesprotegerpróximoEnd Sub

Proteger el libro de trabajo

Puede proteger las estructuras del libro de trabajo de la misma manera que desprotege.

Proteger el libro de trabajo sin contraseña

Esta línea de código protegerá un libro de trabajo (sin contraseña)

1 Libros de trabajo ("Libro1"). Proteger

Nota: a menudo, aplico la protección del libro de trabajo sin contraseñas, simplemente para evitar accidental cambios en los libros de trabajo.

Proteger el libro de trabajo con contraseña

Este código protegerá la estructura del libro de trabajo (con una contraseña)

1 Libros de trabajo ("Libro1"). Proteger "contraseña"

o:

1 Libros de trabajo ("Libro1"). Contraseña de protección: = "contraseña"

Proteger con contraseña el archivo de Excel

En lugar de proteger el libro de trabajo, es posible que desee proteger con contraseña un archivo de Excel completo. Para hacer eso usando VBA, guarde como el libro de trabajo con una contraseña:

1 Libros de trabajo ("Libro1"). Guardar como "contraseña"

Ejemplos de libros de protección / desprotección

Mostrar todas las hojas de trabajo en un libro protegido

Este procedimiento desprotegerá un libro de trabajo, ocultará todas las hojas de trabajo y volverá a proteger el libro de trabajo

12345678910 Sub DesprotegerWB_Unhide_All_Sheets ()Dim ws como hoja de trabajoActiveWorkbook.UnprotectPara cada ws en hojas de trabajows.Visible = xlSheetVisiblepróximoActiveWorkbook.ProtectEnd Sub

Proteger el libro de trabajo y todas las hojas

Este procedimiento protegerá todas las hojas de trabajo en un libro de trabajo y luego protegerá el libro de trabajo:

1234567891011 Sub ProtectWB_Protect_All_Sheets ()Dim ws como hoja de trabajoActiveWorkbook.UnprotectPara cada ws en hojas de trabajows.ProtectpróximoActiveWorkbook.ProtectEnd Sub

También puede agregar protección con contraseña:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws como hoja de trabajoActiveWorkbook.Unprotect "contraseña"Para cada ws en hojas de trabajows.Protect "contraseña"próximoActiveWorkbook.Protect "contraseña"End Sub
wave wave wave wave wave