¿Hay alguna forma de proteger de visualización una hoja dentro de un libro de excel?

Tengo un libro de excel 2010 con cuatro hojas que lo componen, entre ellas están indexadas, pero quisiera proteger una de ellas, para que no dejara verla, vamos que te pida un password.

Hasta donde he investigado solo me permite proteger el libro entero.

Gracias de antemano.

1 Respuesta

Respuesta
1

Hay un modo de 'ocultar' una hoja y de ese modo no se 'muestra' ni siquiera desde el menú Formato, mostrar hojas.

Es con código y lo que podés agregar luego es una 'solicitud' para mostrarla mediante un password.

Entonces, entrá al Editor de macros, insertá un módulo y allí escribí esto:

Sub oculta()
'x Elsamatilde
Sheets("Hoja3").Visible = xlVeryHidden
End Sub

Ajustá el nombre de la hoja que quieras ocultar, colocá el cursor dentro de esta macro y presioná F5.

Cuando salgas del Editor encontrarás la hoja oculta.

Ahora comentame cómo o cuándo querrás mostrarla para avanzar con el código...

Sdos

Elsa

Buenas,  ante todo gracias por tu tiempo. 

Quisiera definir un password cuando alguien quisiera visualizar esa hoja dentro del libro.

Gracias

Observaciones. 

Cuando digo que no se pueda visualizar la hoja. Me refiero a que se muestre la pestaña pero cuando la marques para visualizarla te pida el password. 

Te comento lo anterior porque me da la impresión que no he planteado correctamente la pregunta a ver tu asesoramiento. 

Disculpa si no he sido preciso.

Quedo clara la solicitud, pero lo seguro es ocultar la hoja (y por lo tanto también la pestaña). Sino, al abrir el libro sin habilitar las macros no se ejecutara la macro del control y se entrara a ver la hoja sin restricciones.

Entonces en un modulo van estas 2:

Sub oculta()
'x Elsamatilde
Sheets("Hoja3").Visible = xlVeryHidden
End Sub
Sub muestra()
'x Elsamatilde
'atajo de teclado: ctrl m
clave = InputBox("Ingresa clave para entrar", "ACCESO")
If clave <> "adolfo" Then
    MsgBox "No tienes permiso para acceder a esta hoja.", , "CLAVE INVALIDA"
    Exit Sub
End If
Sheets("Hoja3").Visible = True
Sheets("Hoja3").Select
End Sub

Y en el objeto HOJA3 va esta otra:

Private Sub Worksheet_Deactivate()
Call oculta
End Sub

Se me ocurre que la ejecutes con un atajo de teclado (la de mostrar la hoja) o tambien dentro de otro proceso o con un boton en alguna hoja...estos temas los tengo explicados en la seccion Macros de mi sitio.

Para que puedas ver el proceso en su totalidad, te prepare un ejemplo que podes solicitarlo a mi correo (aparece en mi sitio que dejo al pie) o dejame un correo tuyo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas