Я создаю систему для студентов, чтобы выбрать их классы в университете.Я настроил форму входа в систему, которая считывает идентификатор пользователя и пароль из листа «StudentInformation».200 учеников принадлежат к 3 различным классам, поэтому я настроил пользовательскую форму для каждой программы (AMForm, FMForm и HRMForm).
В столбце A указан их идентификатор пользователя, а в столбце B - их пароль.В столбце F указаны термины «AM», «FM» или «HRM» для каждой программы.При входе в систему я хочу, чтобы он открыл их конкретную пользовательскую форму на основе значения ячейки в столбце F, например, если ячейка F2 содержит «AM», то AMForm запускается, если F3 содержит «FM», тогда FMForm запускается, и если ячейка F4 содержит «HRM»"Затем запускается HRMForm.
Я надеюсь, что это имеет смысл, и любая помощь будет принята с благодарностью!Я ввел свой текущий код входа ниже.
Private Sub btnLogin_Click()
Dim RowNo As Long
Dim ID As String, PW As String
Dim WS As Worksheet
Dim aCell As Range
On Error GoTo ErrorHandler
'Ensure User ID and password fields are filled
If Len(Trim(txtUser)) = 0 Then
txtUser.SetFocus
MsgBox "Error. UserID cannot be empty."
Exit Sub
End If
If Len(Trim(txtPass)) = 0 Then
txtPass.SetFocus
MsgBox "Error. Password cannot be empty."
Exit Sub
End If
'Set Range Location
Application.ScreenUpdating = False
Set WS = Worksheets("StudentInformation")
ID = LCase(Me.txtUser)
Set aCell = WS.Columns(1).Find(What:=ID, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'If match found
If Not aCell Is Nothing Then
RowNo = aCell.Row
If Me.txtPass = aCell.Offset(, 1) Then
MsgBox "Login Successful."
AMForm.Show
Unload Me
Else
MsgBox "Incorrect UserID or Password. Please try again.", vbOKOnly
End If
'If not found
Else
MsgBox "Incorrect UserID or Password. Please try again.", vbOKOnly
End If
CleanExit:
Set WS = Nothing
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
MsgBox Err.Description
Resume CleanExit
End Sub