You are on page 1of 3

PROTEGER CON CONTRASEA Y DESPROTEGER TODAS LAS HOJAS DE CLCULO Cmo puedo proteger con contrasea y desproteger todas

las hojas de clculo en mi libro de una sola vez? Tengo muchas hojas y tengo que proteger y desproteger cada hoja por separado. Desafortunadamente no hay ninguna caracterstica estndar en MS Excel que nos permita proteger y desproteger todas las hojas de una sola vez, sin embargo, podemos usar un cdigo VBA bastante simple para hacer esto por nosotros.

Sigue los siguientes pasos y lograras proteger y desproteger todas las hojas de un libro de MS Excel mediante un UserForm (Formulario de usuario) de Visual Basic:

El libro de Excel debe estar habilitado para Macros (.xlsm), ya que mediante VBA es que es posible trabajar con esta opcin. Ve a la Cinta de opciones/ Programador/ Grupo Cdigo, Botn Visual Basic (MS Excel 2007), para MS Excel 2003 Barra de herramientas/ Macro/ Editor de Visual Basic o desde el libro abierto presionas (Alt + F11). En Microsoft Excel Objetos inserta un UserForm.

Del Cuadro de herramientas que se genera a continuacin vas a insertar dentro del UserForm un Cuadro de texto (ab|).

Asegrate de que el Cuadro de texto este seleccionado y luego ve a Propiedades (F4). En la ventana Propiedades del cuadro de texto desplzate hasta PasswordChar y en el cuadro

blanco a la derecha escribe un asterisco * (Esto para cuando ingreses la contrasea para proteger y desproteger las hojas se muestre un asterisco en vez de los caracteres que escribas). Ahora del Cuadro de herramientas selecciona un Botn de comando, haz clic en el formulario de usuario y colcalo en la parte superior derecha, con el Botn de comando an seleccionado, ve a Propiedades (F4), desde la ventana de propiedades del control CommandButton desplzate hasta Caption y en el cuadro blanco a la derecha escribe la palabra: OK. Ahora selecciona el formulario de usuario y a partir de ah ve a la ventana Propiedades busca Caption y cambia UserForm1 por: Proteger o Desproteger todas las hojas, una vez seguido los pasos anteriores el formulario de usuario debe quedar como lo mostrado en la siguiente imagen:

En la subcarpeta Formularios vas a presionar Ver cdigo o tambin puedes presionar la tecla (F7) con el formulario seleccionado y coloca ah exactamente el siguiente cdigo:

Private Sub CommandButton1_Click() Dim WSheet As Worksheet For Each WSheet In Worksheets If WSheet.ProtectContents = True Then WSheet.Unprotect Password:=TextBox1.Text Else WSheet.Protect Password:=TextBox1.Text End If

Next WSheet Unload Me End Sub

Inserta en Microsoft Excel Objetos un Modulo en el cual vas a colocar el siguiente cdigo:
Sub MostrarFormulario() UserForm1.Show End Sub

Guarda los cambios realizados a ahora ve al libro de Excel presionando (Alt + Q).

En el libro abierto desde cualquier hoja ve a la Cinta de Opciones ficha Programador/ Macros o presionas la combinacin de teclas (Alt+ F8) y ejecutas la Macro denominada MostrarFormulario para llamar esta macro adicionalmente tienes la posibilidad de asignarle una Tecla de mtodo abreviado de acuerdo a tu preferencia.

Al ejecutar la macro llamas al Formulario de Usuario en el cual podrs desproteger todas las hojas de trabajo que estn protegidas y proteger todas las hojas de clculo que no estn protegidas. Te dejamos archivo MS Excel habilitado para macros en el cual podrs visualizar el ejemplo citado en esta publicacin: