Я пытаюсь создать пользовательскую форму входа в vba, но он возвращает мне ошибку, указанную в названии. Итак, вот какой-то фон.Ошибка времени выполнения: невозможно получить свойство Vlookup класса WorksheetFunction
У меня есть лист под названием «User_List», в котором есть имя пользователя и связанный с ним пароль. Диапазон начинается от диапазона B3 до C1000. Столбец B имеет все имена пользователей, в то время как в столбце C есть пароли. Я хотел бы создать пользовательскую форму входа в систему, чтобы после ввода пользователем имени пользователя и пароля, vba будет искать список пользователей и определять, верны ли данные. Как только это подтвердится, vba направит пользователя на другой лист, называемый домашней страницей. Ниже мой код.
Private Sub MLIB_Click()
Dim UserName As String
Dim PassWord As String
' MUN is the name of the textbox associated to the Username
' MPW is the name of the textbox associated to the Password
UserName = MUN.Value
PassWord = MPW.Value
If UserName = Application.WorksheetFunction.VLookup(UserName, Sheets("User_List").Range("B3:C1000"), 1, True) Then
If PassWord = Application.WorksheetFunction.VLookup(PassWord, Sheets("User_List").Range("B3:C1000"), 2, True) Then
Sheets("Home_Page").Activate
Unload Me
End If
End If
MsgBox "Sorry, Incorrect Login Details"
End Sub
Пробовал выяснять это, но это снимает возраст! Цените любую помощь!
Это дало мне ошибку - Ошибка времени выполнения «438» (объект не поддерживает это свойство или метод), и он выделил код ниже. Если Not IsError (Application.Match (UserName, .Column (2), 0)) Затем – Stu
Мои извинения. Это должно быть '.Columns (2)', а не '.Column (2)'. – Jeeped
Он отлично работает! Спасибо!! – Stu