Olá amigos, primeiramente gostaria de desejar um ótimo dia a todos.
Estou trabalhando num sistema de login a partir de um exemplo retirado do Fórum do TomásVasquez,
Fiz os devidos ajustes no layout e etc. Percebi que o código identifica todos os logins informados na coluna A, porém a coluna B onde ficam as senhas, ele só identifica o que está na célula B2
Preciso que ele identifique as senhas obedecendo a linha do login.
Abaixo segue o código do formulário, mas também está em anexo caso haja dúvidas no que eu expliquei.
Private Sub cmdEntrar_Click()
If txtLogin = "" Then
MsgBox "Digite o usuário.", vbInformation, "AVISO"
Exit Sub
txtLogin.SetFocus
Else
If txtSenha = "" Then
MsgBox "Digite a senha.", vbInformation, "AVISO"
Exit Sub
txtSenha.SetFocus
End If
End If
col = 1
lin = 2
While (Sheets("LOGIN").Cells(lin, col) <> txtLogin)
lin = lin + 1
If lin > 100 Then
MsgBox "Usuário não cadastrado.", vbCritical, "ATENÇÃO"
Exit Sub
End If
Wend
Dim senha As String
lin = 2
col = 2
senha = Sheets("LOGIN").Cells(lin, col).Value
If txtSenha <> senha Then
MsgBox "Senha incorreta.", vbCritical, "ATENÇÃO"
Exit Sub
Else
MsgBox "Bem-vindo(a) " & txtLogin & ".", vbInformation, "SUCESSO"
lin = 2
col = 1
While (Sheets("LOGS").Cells(lin, col) <> "")
lin = lin + 1
Wend
Sheets("LOGS").Cells(lin, 1) = txtLogin.Value
Sheets("LOGS").Cells(lin, 2) = txtSenha.Value
Sheets("LOGS").Cells(lin, 3) = Time
Sheets("LOGS").Cells(lin, 4) = Date
Sheets("LOGS").Visible = xlSheetVisible
Sheets("INICIO").Activate
ActiveWindow.DisplayWorkbookTabs = True
Hide
End If
End Sub
Private Sub cmdCancelar_Click()
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.Quit
End Sub
Private Sub txtLogin_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtSenha.SetFocus
End Sub
Private Sub UserForm_Terminate()
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.Quit
End Sub
DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]
Postado : 16/12/2013 8:01 am