Boa tarde,
Estou aqui depois de batalhar horas sobre o código de um form de login postado por Tomás Vásquez. Quase tudo funcionou perfeito, menos quando eu digito o Usuário e, depois a senha e clico em Ok acontece o seguinte: Se a senha estiver digitada errada dá mensagem de erro na senha mas se a senha for digitada corretamente e o Usuário apenas uma das letras de "ADMIN" dá acesso e abre o formulário de cadastro como se o Usuário tivesse sido digitado corretamente, mas na realidade só digitei uma das letras "A", "D", "M", "I" ou "N", alguém poderia me ajudar, por favor.
Rabite
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Formulário de Login
Re: Formulário de Login
Boa tarde Galera,
Aí o código de Login pra quem quiser me ajudar.
Desde já obrigado
Private Sub UserForm_Activate()
'Neste caso você tem a opção de mostrar ou ocultar o excel, basta mudar a instrução TRUE abaixo para False
'Application.Visible = True
txtSenha.Enabled = txtLogin.Text <> ""
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
End Sub
Private Sub btnOk_Click()
Dim Linha As Integer
On Error GoTo NaoEncontrado
Linha = Sheets("Plan2").Range("R:R").Find(txtLogin).Row
If txtSenha = Sheets("Plan2").Cells(Linha, 19) Then
MsgBox ("Seja Bem Vindo (a) ") & txtLogin, vbInformation, ("Plan2- Live Free")
Unload Me
'Tela de acesso ao sistema aqui
'Seu Aplicativo será carregado, substituindo esta linha para a que você necessite que seja carregado em primeiro plano (form1,Menu,Dados...Etc)
frmCadastro.Show
Else
MsgBox ("A senha não confere"), vbInformation, ("Plan2 - Live Free")
txtSenha = ""
txtSenha.SetFocus
End If
Exit Sub
NaoEncontrado:
MsgBox ("Usuário não cadastrado."), vbInformation, ("Plan2 - Live Free")
txtLogin = ""
txtLogin.SetFocus
ThisWorkbook.Close SaveChanges:=True
End Sub
Private Sub txtLogin_Change()
txtSenha.Enabled = txtLogin.Text <> ""
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
'Aqui o código que modifica a letra digitada para a forma maiuscula
txtLogin.Value = UCase(txtLogin.Value)
End Sub
Private Sub TtxtSenha_Change()
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
End Sub
Private Sub UserForm_Initialize()
' Metodo Invisivel do Excel
Application.Visible = False
txtLogin.SetFocus
End Sub
Aí o código de Login pra quem quiser me ajudar.
Desde já obrigado
Private Sub UserForm_Activate()
'Neste caso você tem a opção de mostrar ou ocultar o excel, basta mudar a instrução TRUE abaixo para False
'Application.Visible = True
txtSenha.Enabled = txtLogin.Text <> ""
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
End Sub
Private Sub btnOk_Click()
Dim Linha As Integer
On Error GoTo NaoEncontrado
Linha = Sheets("Plan2").Range("R:R").Find(txtLogin).Row
If txtSenha = Sheets("Plan2").Cells(Linha, 19) Then
MsgBox ("Seja Bem Vindo (a) ") & txtLogin, vbInformation, ("Plan2- Live Free")
Unload Me
'Tela de acesso ao sistema aqui
'Seu Aplicativo será carregado, substituindo esta linha para a que você necessite que seja carregado em primeiro plano (form1,Menu,Dados...Etc)
frmCadastro.Show
Else
MsgBox ("A senha não confere"), vbInformation, ("Plan2 - Live Free")
txtSenha = ""
txtSenha.SetFocus
End If
Exit Sub
NaoEncontrado:
MsgBox ("Usuário não cadastrado."), vbInformation, ("Plan2 - Live Free")
txtLogin = ""
txtLogin.SetFocus
ThisWorkbook.Close SaveChanges:=True
End Sub
Private Sub txtLogin_Change()
txtSenha.Enabled = txtLogin.Text <> ""
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
'Aqui o código que modifica a letra digitada para a forma maiuscula
txtLogin.Value = UCase(txtLogin.Value)
End Sub
Private Sub TtxtSenha_Change()
btnOk.Enabled = (txtLogin.Text <> "" And txtSenha.Text <> "")
End Sub
Private Sub UserForm_Initialize()
' Metodo Invisivel do Excel
Application.Visible = False
txtLogin.SetFocus
End Sub