VBA, ocultar hojas específicas, y bloquear para no eliminar

Tengo un userform, dentro del ella hay un combobox1 al presionar el combobox1 me habilita el libro y las hojas de excel hasta ahí estoy bien.

Total hojas:

INDICE

Administracion

TESORERIA

ALMACEN

SECRETARIA

CONTABILIDAD

Al presionar combobox1 deseo que las hojas de nombres INDICE, ADMINISTRACION estén activos para ingresar datos, y los demás hojas: TESORERIA, ALMACEN, SECRETARIA y CONTABILIDAD estén ocultos automáticamente.

Debe estar protegido con contraseña, para no cambiar los nombres, crear o eliminar hojas.

Cordiales saludos

Felipe

1

1 respuesta

Respuesta
1

Acabo de responder consulta similar... fíjate si lo explicado allí te ayuda a avanzar. Sino comenta.

¿

Como ocultar la hojas de excel y hacer que un hiperbinculo me envie a las hojas oculta?

Gracias por tu respuesta,

Cuando estoy en el Formulario tengo 5 botones de oficinas, Administración ingresara a la hoja de INDICE y la hoja Administración, los demás hojas deben estar ocultados y protegidos con contraseña para que los demás áreas no ingresen no puedan crear modificar o eliminar las hojas.

De igual manera las demás áreas ingresaran a la hoja INDICE y su respectivo hoja.

Saludos

Todas las hojas menos la de portada o inicio ya deben ocultarse al abrir el libro con una macro como la que dejé en link anterior.

Luego comentas: Administración ingresara a la hoja de INDICE y la hoja Administración.

Ahora, como estás mostrando un formulario Menú, no queda muy en claro si vas a trabajar en la hoja (1) o desde otro formulario trabajar con esas hojas. (2)

(1) Si por 'ingresar' se entiende que vas a cerrar el UF de menú y quedarte en esas hojas, el botón tendrá estas instrucciones:

Sub botónAdministra ()     'ajusta el nombre de tu botón

Sheets("INDICE").visible = true

Sheets("Administración").visible = true

'falta seleccionar la hoja que necesitas: Sheets("xxxxx").select

Unload Me

End Sub

(2) Cuando llames a otro UF en el evento Initialize las colocás en visible (con las mismas instrucciones anteriores) y en el evento QueryClose las volves a ocultar:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheets("INDICE").Visible = xlVeryHidden
Sheets("Administración").Visible = xlVeryHidden
End Sub

Con respecto a la protección dependerá de lo que harás en las hojas. Es posible dejar las celdas que van a recibir información ya desbloqueadas, o desproteger la hoja al hacerla visible y volverla a proteger al ocultarla:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
With Sheets("INDICE")
    .Protect "tu_clave"
    .Visible = xlVeryHidden
End With
With Sheets("Administración")
    .Protect "tu_clave"
    .Visible = xlVeryHidden
End With
End Sub

Por supuesto que en la protección colocarás tu clave y tus permisos.

Sdos y no olvides valorar las respuestas recibidas.

Elsa

* tu mejor opción: http://aplicaexcel.galeon.com/manual_Userforms.htm 

Gracias por la paciencia

Disculpe por no saber explicarme bien.

Cuando inicio excel de frente me parece este formulario hasta ahí estoy bien.

Después debo entrar a las hojas de acuerdo a los botones que selecciono, ahora me sale otra consulta como puedo proteger los botones del menú con contraseña para no ingresar si no tengo autorización.

Soy nuevo en esto de las macros pero le voy echar ganas, gracias por su apoyo desinteresado.

saludos.

Te van a ir surgiendo nuevas ideas y necesidades. Pero no las puedo tratar a todas en una misma consulta. Valora lo recibido hasta aquí y deja otra nueva con el tema de los permisos. Quizás pueda enviarte un ejemplo que será más eficaz que explicarlo.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas