@nepsther Parece ser algo com o tipo do dado da senha, já que acontece com valores numéricos. Declare os tipos dos parâmetros como String, isso deve resolver.
Sub validarUsuario(usuarioDigitado As String, senhaDigitada As String)
Para buscar o usuário acho melhor usar a função Find em vez de fazer um loop. Com esse For a macro vai ficar mais lenta quando tiver mais usuários. Com Find já vai direto para a célula, p.ex,
Sub Macro()
Dim Usuario As String
Dim Senha As String
Usuario = "admin"
Senha = "admin"
If ValidaUsuario(Usuario, Senha) Then
MsgBox "Bem vindo " & Usuario, vbOKOnly, "Acesso Permitido"
End If
End Sub
Function ValidaUsuario(Usuario As String, Senha As String) As Boolean
Dim Procura As Range
Dim Tabela As ListObject
Set Tabela = Sheets("dados").[dados].ListObject
If Not Tabela.DataBodyRange Is Nothing Then
Set Procura = Tabela.ListColumns("USUARIO").DataBodyRange.Find( _
What:=Usuario, LookIn:=xlValues, LookAt:=xlWhole)
If Not Procura Is Nothing Then
If Procura.Value = Usuario And Procura(1, 2).Value = Senha Then
ValidaUsuario = True
End If
End If
End If
End Function