¿Cómo puedo crear 2 botones con macro, 1 para proteger hoja de calculo y otra para desprotegerla?

La hoja también tiene rangos de celdas bloqueados y quiero que cuando proteja la hoja las celdas se bloqueen con su respectiva contraseña y cuando se desproteja que las celdas se mantengan bloqueadas y adicional que me pida contraseña para desbloquear la hoja.

La ayuda será MUY BIEN recibida!

1 respuesta

Respuesta
1

Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: Macro1_Proteger
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub Macro1_Proteger()
'Por.DAM
    ActiveSheet.Protect "123", _
        DrawingObjects:=False, _
        Contents:=True, _
        Scenarios:=False, _
        AllowFormattingCells:=True, _
        AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, _
        AllowInsertingColumns:=True, _
        AllowInsertingRows:=True, _
        AllowInsertingHyperlinks:=True, _
        AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, _
        AllowSorting:=True, _
        AllowFiltering:=True, _
        AllowUsingPivotTables:=True
    Range("B13").Select
End Sub

Sigue las mismas instrucciones para el botón 2 y pon la siguiente macro

Sub Macro2_Desproteger()
'Por.DAM
ActiveSheet.Unprotect "123"
End Sub

Saludos.DAM
Si es lo que necesitas.

Gracias por la ayuda!

El código me funciona bn pero una vez que haya introducido la contraseña en las celdas y presiono el botón para volverlo a bloquear todo, solo se protege la hoja pero no las celdas.

Me ayudaría mucho con esa parte. Gracias!!

No entiendo esta parte: "pero una vez que haya introducido la contraseña en las celdas"

Instrucciones para bloquear una celda
1. Selecciona todas las celda de tu hoja (presiona click en la esquina superior izquierda, es la esquina que está entre las columnas y las filas)
2. Selecciona del menú: Formato / Celdas / Proteger y quita el indicador de “Bloqueda”
3. Ahora selecciona la celda o celdas que deseas bloquear
4. Selecciona del menú: Formato / Celdas / Proteger y pon el indicador de “Bloqueda”
5. Ejecuta la macro del botón 1

Saludos,

Gracias por la ayuda! La duda que tengo ahora es que cuando tengo toda la hoja protegida con contraseña y surge algún error con la macro, sale una ventana emergente para salir o debug la macro. Si presionas debug el usuario puede ver el código de VB lo cuál no debe ser. Ahora bien, la pregunta es la sig.: ¿Cómo puedo proteger el documento de VB para que eso no ocurra?

Gracias por la ayuda que me puedas brindar!

Con gusto te sigo ayudando, pero debes finalizar la pregunta y crear una nueva para cada petición.

Para proteger VBa, entra a VBa, presiona ALT + F11, selecciona del menú: Herramientas / Propiedades de VBAProject, en la ventana selecciona la pestaña "Protección", marca la casilla "Protección para visualizar", escribe la contraseña, repite la contraseña. Aceptar.

Saludos. DAM

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas