Excel VBA密码接受数字和文本值

Excel VBA密码接受数字和文本值,excel,vba,Excel,Vba,我有一个访问表单,它包含UserNameIDtextbox和PasswordIDtextbox和Login按钮,这些按钮只适用于文本,但当我以数字或字符形式输入密码时,会显示一条消息说密码错误。因此,我的代码中遗漏了一些内容,或者需要进行更正才能识别字符或数字 非常感谢你的帮助 Private Sub Login_Click() Dim UserName As String Dim Password As Integer Dim FindRow As Range On Error Resu

我有一个访问表单,它包含
UserNameID
textbox和
PasswordID
textbox和
Login
按钮,这些按钮只适用于文本,但当我以数字或字符形式输入密码时,会显示一条消息说密码错误。因此,我的代码中遗漏了一些内容,或者需要进行更正才能识别字符或数字

非常感谢你的帮助

Private Sub Login_Click()

Dim UserName As String
Dim Password As Integer
Dim FindRow  As Range

On Error Resume Next
If Me.UserNameID = "" Then
    MsgBox "you have to enter password"
    Exit Sub
End If

UserName = Me.UserNameID.Value
Password = Me.PasswordID.Value
Me.PasswordID.MaxLength = 14
Me.PasswordID.PasswordChar = "*"

'find the name of the employee written on the search box in column A
Set FindRow = Sheets("Login Information").Range("A:A").Find(what:=UserName, LookIn:=xlValues)
If Not FindRow Is Nothing And Me.PasswordID.Value = FindRow.Offset(0, 1).Value Then
    PayrollandStaffMainForm.Show
Else
    MsgBox "The Password you entered is wrong, please try again"
    Exit Sub
End If

End Sub

顺便说一下,我将密码定义为整数、变量、字符串、long,但结果相同。您确定单元格值是字符串吗?如果没有,那么您可以尝试将数字数据类型与文本框中的字符串进行比较
Me.PasswordID.Value=CStr(FindRow.Offset(0,1).Value)
。步骤1:在下一步恢复错误时删除
。第2步:在代码中设置一个断点,看看它在做什么。非常感谢Shai,在我添加CStr之后,它工作得很好。对于第二个选项,我不知道如何设置断点,但无论如何,我成功地获得了我希望看到的内容,因此请将其设置为完整代码,以便能够将其标记为已回答。感谢Bossy,您应该真正了解如何使用断点,这将使调试在将来变得更容易。这里:我在google上为您保存了十几次击键: