Macro para dar permiso de visualizar hojas y botones

Para dante

Podrias ayudarme con esto

1. En el userform frm_NuevoUsuario se registran los nuevos usuarios y alli asigno los permisos para cada uno utilizando checkbox para hojas y botones

2. Los valores FALSO y VERDADERO de cada check box se guarda en la hoja usuario a la par del nombre del usuario, contraseña y nivel de usuario.

3. El userform1 es para modificar los permisos

4. Donde no puedo es en el userform Inicio que es donde se ingresa la contraseña para acceder al archivo.

Necesito que me ayudes con el codigo para acitvar esos permisos (los permisos van a ser diferentes para cada usuario dependiendo de quien sea)

Algunos tendran mas acceso que otros.

Tambien en el userform Login que se utiliza para cambiar de usuario

El siguiente codigo aparece en el userform frm_NuevoUsuario y el userform1 (que es para modificar permisos), esto ya esta. Solo falta en el formulario Inicio y Login.

'permisos para hojas que son como 16

    Hoja10.Cells(u, "E") = Me. CheckBox1.Value 'hoja Medicamentos

    Hoja10.Cells(u, "F") = Me. CheckBox2.Value 'hoja Planificacion F.

    Hoja10.Cells(u, "G") = Me. CheckBox3.Value 'hoja Quirurgico

'permisos para botones que son como 12

    Hoja10.Cells(u, "U") = Me.CheckBox17.Value 'boton Eliminar en frm_Clientes

    Hoja10.Cells(u, "V") = Me.CheckBox18.Value 'boton Agregar Imagen en frm_Clientes

    Hoja10.Cells(u, "W") = Me. CheckBox19.Value 'boton FILTRAR en Userform4

Entonces a la hora de ingresar en el archivo necesito que se apliquen los permisos. Si un usuario tiene permiso solo para acceder a 5 hojas del archivo entonces solo deben aparacer vibles esas 5 hojas. Y si tiene permiso para usar 5 botones entonces los demas deben aparacer bloqueados.

1 respuesta

Respuesta
1

Te anexo el código para desactivar botones

Private Sub userform_initialize()
   'Call QuitabotonX(Me. Caption)
    'Desactivar botones
    u = Hoja8.Range("B" & Rows.Count).End(xlUp).Row
    usuario = Hoja8.Cells(u, "B")
    Set b = Hoja10.Columns("A").Find(usuario, lookat:=xlWhole)
    If Not b Is Nothing Then
        For j = Hoja10.Columns("E").Column To Hoja10.Cells(1, Columns.Count).End(xlToLeft).Column
            formulario = Split(Hoja10.Cells(1, j), ".")
            If UCase(formulario(0)) = UCase(Me.Name) Then
                boton = formulario(1)
                Me.Controls(boton).Enabled = Hoja10.Cells(b.Row, j)
            End If
        Next
    End If
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas