Excel - Valor de variable en libro compartido

 
Vista:
Imágen de perfil de Jorge

Valor de variable en libro compartido

Publicado por Jorge (39 intervenciones) el 23/08/2021 05:00:08
Buenas noches, tengo una inquietud que no me deja dormir. Ya estoy finalizando mi proyecto y se me acaba de presentar mas que un problema es una piedra en el zapato. Estoy finiquitando los detalles del "Acceso de Usuario", debido a que el libro Excel se utilizara por varias personas, esta en la red en [modo compartido].

Tengo un formulario que aparece al abrir el libro y allí se ingresa el nombre de usuario y la contraseña, al darle ingresar me guarda en una variable pública el nombre de usuario y en otra variable pública el rango que tiene el usuario, luego me lleva a la portada del libro que es una hoja, en esa hoja hay una tabla de dos columnas, la primera es una numeración y la segunda indica el nombre del usuario. Hasta allí todo bien.

Screenshot_2

Ambas variables sirven para limitar el acceso que tienen los usuarios al contenido del libro, como lo es algunos botones, formularios y hojas ocultas dependiendo del nivel de usuario que tengan. Debido a que es un libro compartido, para que la información se actualice de manera automática, cuando se hace algún registro implemente salvar el libro para guardar de una vez la información y de esa manera también se actualice el libro con la información que agreguen las demás personas que usen el libro.

Pasa que al actualizar la información las variables "Usuario_Activo" y "Usuario_Nivel" se actualizan con los datos de otros usuarios y lo que quiero es que si un usuario esta usando el libro que las variables mantengan la información de ese usuario, en conclusión, que cada usuario se le mantenga su información y no que al actualizar me aparezca en mis variables la información de otro usuario que este usando al mismo tiempo el libro.

Dejo aqui el código que uso en el formulario "login" que es donde se ingresa a la sesión, creo que allí es donde se debe definir este inconveniente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'Si los datos son correctos, ingresa al libro
'
Private Sub ingresar_Click(): On Error Resume Next
Dim fila, fila6, i As Long
 
fila = Hoja7.Range("A" & Rows.Count).End(xlUp).Row + 1 'Hoja donde esta alojada la información de los usuarios
fila6 = Hoja6.Range("A" & Rows.Count).End(xlUp).Row + 1 'Hoja Portada del libro
 
'Verifica que el usuario y la contraseña coincidan con los campos usuario y contraseña
For i = 2 To fila
    If usuario = Hoja7.Cells(i, 6) And password = Hoja7.Cells(i, 7) Then
        Hoja6.Cells(fila6, 1) = Val(ID) 'Guardo el número en la tabla de la Portada
        Hoja6.Cells(fila6, 2) = usuario 'Guardo el nombre del usuario en la tabla de la Portada
        Usuario_Activo = usuario 'Recuerdo el nombre de usuario en la variable
        Usuario_Nivel = Hoja7.Cells(i, 12) 'Recuerdo el nivel de usuario en la variable
        MsgBox "Bienvenido " & Usuario_Activo & ", su rango es " & Usuario_Nivel, vbInformation, "DATAPAD 3.3"
        Unload Me 'Cierro el formulario
        Exit For 'termino el bucle
    Else
        MsgBox "Datos incorrectos", vbCritical, "DATAPAD 3.3"
        usuario = Empty
        password = Empty
        usuario.SetFocus
        Exit For
    End If
Next i
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder