Porque me cierra el libro

Tengo unos comandos que validan el nombre del usuario y la contraseña al abrir un libro, el detalle es que me cierra el libro aunque ponga el usuario y contraseña correcto, por favor si puede revisar las instrucciones y me dice donde esta el problema. Esta instrucciones trabajan mediante un cuadro de texto y un botón de comando.
Botón ACEPTAR
Private Sub CommandButton1_Click()
If UserForm1.TextBox1.Value = Worksheets("Hoja2").Range("a2").Value And UserForm1.TextBox2.Value = Worksheets("Hoja2").Range("b2").Value Then
Sheets("hoja1").Select
Unload Me
Else
Unload Me
ThisWorkbook.Close
End If
End Sub
Botón CANCELAR
Private Sub CommandButton2_Click()
Unload Me
ThisWorkbook.Close
End Sub

1 Respuesta

Respuesta
1
Prueba así
Private Sub CommandButton1_Click()
user = Worksheets("Hoja2").Range("a2")
Pass = Worksheets("Hoja2").Range("b2")
If UserForm1.TextBox1.Value = user And UserForm1.TextBox2.Value = Pass Then
Sheets("hoja1").Select
Unload Me
Else
Unload Me
ThisWorkbook.Close
End If
End Sub
Hola amigo, le agradezco mucho que haya contestado, le hice las modificaciones recomendadas. Estaba checando que de la otra manera también funciona, el problema era que la contraseña debe ser texto y no números. Las dos formas funcionan, ya lo cheque.
La otra pregunta seria en caso que tuviera más de dos usuarios como debo especificarlo, y que si el usuario es correcto ponga el nombre del usuario en la celda A6 de la hoja1
O como tomar los usuarios del rango A2:A5 incluirlos en un ComboBox
Le agradezco su tiempo.
Esto es otra consulta y deberías abrir otro tema pero pasa por esta vez.
Supongo que los datos de user y password están en el rango A2:B5
Private Sub CommandButton1_Click()
Dim pass As String
Hoja1.Select
Set resp = Cells.Find(What:=TextBox1.Text, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If resp Is Nothing Then
MsgBox "No existe el usuario"
Exit Sub
Else
resp.Select
pass = ActiveCell.Offset(0, 1)
If UserForm1.TextBox2.Value = pass Then
MsgBox "Ingreso Satisfactorio"
Sheets("hoja1").Select
Unload Me
Else
Unload Me
ThisWorkbook.Close
End If
End If
End Sub
Para traer los datos a un combo desde una hoja usa la propiedad RowSource y colocas A2:A5
Recuerda finalizar la respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas