Como un userform modifique el código

Hola experto, tal vez el titulo no es es el correcto, apenas estoy empezando en esto de la programación en no se mucho, en lo que estoy es haciendo un userform donde tengo dos textbox y un commandbutton en el cual colocando usuario y contraseña se despliega otro userform el código que utilice fue el siguiente
Private Sub CommandButton1_Click()
If TextBox1.Value <> ("ARTES202312") And TextBox2.Value = ("55202312") Then
mensaje = MsgBox("usuario o contraseña incorrecta favor de velificar", vbInformation, "error de captura")
TextBox1.SetFocus
Else
If TextBox1.Value = ("ARTES202312") And TextBox2.Value <> ("55202312") Then
mensaje = MsgBox("usuario o contraseña incorrecta favor de velificar", vbInformation, "error de captura")
TextBox1.SetFocus
Else
If TextBox1.Value <> ("ARTES202312") And TextBox2.Value <> ("55202312") Then
mensaje = MsgBox("usuario o contraseña incorrecta favor de velificar", vbInformation, "error de captura")
TextBox1.SetFocus
Else
If TextBox1.Value = ("ARTES202312") And TextBox2.Value = ("55202312") Then
mensaje = MsgBox("usuario y contraseña correctos", vbInformation, "Bienvendo Arturo Ruiz")
UserForm7.Hide
UserForm5.Show
End If
End If
End If
End If
End Sub
Lo que quiero hacer es otro userform para tener acceso a modificar el usuario y contraseña sin la necesidad de entrar al editor de vb
Agradecería tu apoyo

1 Respuesta

Respuesta
1
Te voy a enviar el código del formulario de inicio y también el del formulario para registro de usuarios.
Crea una hoja con e nombre USUARIOS, luego en estas vas a copiar una a una las fórmulas que te voy a indicar a continuación en su respectiva celda.
Celda A5 =CONTAR.SI(C8:C100,A4)
Celda A7 =SI.ERROR(COINCIDIR(A6,C$7:C$1048576,)+6,A8)
Celda A8 =1048576-CONTAR.BLANCO(C8:C1048576)+1
Celda D3
=SI.ERROR(INDICE($C$7:$D$99,COINCIDIR($C5,$C$7:$C$99,),COINCIDIR(C7,$C$7:$D$7,)),"")
Celda C3
=SI.ERROR(INDICE($C$7:$D$99,COINCIDIR($C5,$C$7:$C$99,),COINCIDIR(D7,$C$7:$D$7,)),"")
Los siguientes son valores que vas a introducir en la misma hoja.
Celda C7 USUARIO, Celda D7 CONTRASEÑA, Celda E7 NOMBRE, Celda F7 FUNCIÓN
Celda F8 ADMINISTRADOR
Bien ahora que esta lista la hoja correspondiente a usuarios te envío el código de la pantalla de Inicio de Sesión.
Antes le agregas dos Texbox uno con nombre USUARIO y otro con nombre CONTRASEÑA
De igual forma dos BOTONES de comando.
Luego pegas este código al formulario.
Private Sub CommandButton2_Click()
Application.EnableCancelKey = xlDisabled
Application.DisplayAlerts = False
On Error Resume Next
Dim intRespuesta As Integer
intRespuesta = MsgBox("¿SALIR DEL SISTEMA?", vbQuestion + vbYesNo, "S I S T E M A")
If intRespuesta = 6 Then
ThisWorkbook.Save
ThisWorkbook.Close
End If
End Sub
Private Sub CommandButton1_Click()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If USUARIO = "" Or CONTRASEÑA = "" Then
USUARIO.SetFocus
Else
If Range("USUARIOS!E5") = "SI" And USUARIO.Text = Range("USUARIOS!C3") And CONTRASEÑA.Text = Range("USUARIOS!D3") Then
USUARIO.SetFocus
Me.Hide
INICIO.USUARIO.Caption = Range("USUARIOS!E4")
INICIO.CARGO.Caption = Range("USUARIOS!F4")
INICIO.TITULO.Caption = Range("USUARIOS!E4") & " (" & Range("USUARIOS!F4") & ")"
INICIO.Show
Else
MsgBox "USUARIO O CONTRASEÑA INCORRECTO", vbInformation, "S I S T E M A"
CONTRASEÑA = ""
USUARIO.SetFocus
End If
End If
End Sub
Private Sub Label4_Click()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If USUARIO = "SINTECH" And CONTRASEÑA = "/#Z6%28ç^D3Gª&HGÑJ9G&1S3$GM@DA6ç" Then
SOPORTE.Show
Else
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If CloseMode <> 1 Then Cancel = True
End Sub
Private Sub USUARIO_AfterUpdate()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
Range("USUARIOS!C5") = USUARIO.Text
End Sub
Private Sub CONTRASEÑA_AfterUpdate()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If USUARIO = "" Or CONTRASEÑA = "" Then
USUARIO.SetFocus
Else
Range("USUARIOS!D5") = CONTRASEÑA.Text
If Range("USUARIOS!E5") = "SI" And USUARIO.Text = Range("USUARIOS!C3") And CONTRASEÑA.Text = Range("USUARIOS!D3") Then
USUARIO.SetFocus
Me.Hide
INICIO.USUARIO.Caption = Range("USUARIOS!E4")
INICIO.CARGO.Caption = Range("USUARIOS!F4")
INICIO.TITULO.Caption = Range("USUARIOS!E4") & " (" & Range("USUARIOS!F4") & ")"
INICIO.Show
Else
MsgBox "USUARIO O CONTRASEÑA INCORRECTO", vbInformation, "S I S T E M A"
CONTRASEÑA = ""
USUARIO.SetFocus
End If
End If
End Sub
Private Sub UserForm_initialize()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If Now < Range("USUARIOS!K1") Then
ERROR.Show
Else
If Range("USUARIOS!C8") = "" Or Range("USUARIOS!D8") = "" Or [NOMBREEMPRESA] = "" Or [NPROPIETARIO] = "" Then
CONfIGURACION.Show
Else
End If
End If
End Sub
Private Sub UserForm_Activate()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
SESION.Caption = "SinFact - " & [NOMBREEMPRESA]
CONTRASEÑA = ""
USUARIO = ""
USUARIO.SetFocus
End Sub
Private Sub CONTRASEÑA_CHANGE()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
If USUARIO = "" Then
CONTRASEÑA = ""
USUARIO.SetFocus
End If
End Sub
Para que pudieras desarrollar una pantalla de inicio personalizada seria preferible enviarte un archivo de muestra, si dejas tu correo con gusto de envío un archivo.
Mi correo [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas