Al igual que puede proteger con contraseña libros y hojas de trabajo, puede proteger con contraseña una macro en Excel para que no se vea (y ejecute).

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, cree una macro simple que desee proteger.

Range("A1").Value = "This is secret code"

2. A continuación, haga clic en Herramientas, Propiedades de VBAProject.

Haga clic en Herramientas, Propiedades de VBAProject.

3. En la pestaña Protección, marque "Bloquear proyecto para visualización" e ingrese una contraseña dos veces.

Ingrese una contraseña dos veces

4. Haga clic en Aceptar.

5. Guarde, cierre y vuelva a abrir el archivo de Excel. Intente ver el código.

Aparecerá el siguiente cuadro de diálogo:

Protegido con contraseña para que no se vea

Aún puede ejecutar el código haciendo clic en el botón de comando, pero ya no puede ver ni editar el código (a menos que sepa la contraseña). La contraseña para el archivo Excel descargable es "fácil".

6. Si desea proteger con contraseña la macro para que no se ejecute , agregue las siguientes líneas de código:

Dim password As Variant
password = Application.InputBox("Enter Password", "Password Protected")

Select Case password
    Case Is = False
        'do nothing
    Case Is = "easy"
        Range("A1").Value = "This is secret code"
    Case Else
        MsgBox "Incorrect Password"
End Select

Resultado al hacer clic en el botón de comando en la hoja:

Protegido con contraseña para que no se ejecute

Explicación: La macro utiliza el método InputBox del objeto Aplicación. Si los usuarios hacen clic en Cancelar, este método devuelve False y no sucede nada (InputBox desaparece). Solo cuando el usuario conozca la contraseña ("fácil" nuevamente), se ejecutará el código secreto. Si la contraseña ingresada es incorrecta, se muestra un MsgBox. Tenga en cuenta que el usuario no puede ver la contraseña en el Editor de Visual Basic porque el proyecto está protegido para que no se vea.

9/9 Completado! Obtenga más información sobre la creación de macros>
Siguiente capítulo: MsgBox