ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   New Users to Excel (https://www.excelbanter.com/new-users-excel/)
-   -   Heres my macro code... (https://www.excelbanter.com/new-users-excel/270331-heres-my-macro-code.html)

JSHARP92

Heres my macro code...
 
Ok, Iv'e got my macro code for a login form and will post it shortly. The whole idea for the login for is to be able to type in a username and password and will dispaly a confirmation message which lets the user know they have successfully logged in. The user will then be automatically directed to the main menu part of my system. I have successfully got the login for to display an error message when the user doesnt type in a username or password but I cannot get the system to log the user in if they enter a username and password. Could someone please look at my code below and give me an idea were ive went wrong? thank you :)

--------------------------------------------------------------------------

Sub LogIn()

'stops the screen from flickering
Application.ScreenUpdating = False

'declares variables
Dim uname As String
Dim pword As String
Dim RowNum As Integer
Dim usercount As Integer
Dim rowcount As Integer

'moves worksheet and sets values to variables
Sheets("LogInForm").Select
uname = Range("Username")
pword = Range("Password")
RowNum = Range("NumUsers")

'if values are not empty
If uname < "" And pword < "" Then

'set variables as values to move through rows
usercount = 1
rowcount = 1

'move sheets
Sheets("UserDetails").Select

'
Do While usercount <= RowNum

'if correct uname and pword are correct values
If uname = Range("A" & rowcount) And pword = Range("B" & rowcount) Then

'move worksheets and reset values , then moves sheets
Sheets("LogInForm").Select
Range("Username") = ""
Range("Password") = ""
Sheets("MainMenu").Select
Exit Sub

'if values dont match
Else

Error = True
usercount = usercount + 1
rowcount = rowcount + 1

'ends if statement
End If

'starts loop
Loop

'if the boolean is true
If Error = True Then

'moves sheets, clears form, displays message box
Sheets("LoginForm").Select

Range("Username") = ""
Range("Password") = ""
MsgBox "Please try again, You must enter a valid username and password", vbOKOnly

'ends if statement
End If

'if the boolean is false then display error message
Else

'displays message box
MsgBox "You must enter both a username and password"

'ends if statement
End If

End Sub

tarquinious

Quote:

Originally Posted by JSHARP92 (Post 964761)
Ok, Iv'e got my macro code for a login form and will post it shortly. The whole idea for the login for is to be able to type in a username and password and will dispaly a confirmation message which lets the user know they have successfully logged in. The user will then be automatically directed to the main menu part of my system. I have successfully got the login for to display an error message when the user doesnt type in a username or password but I cannot get the system to log the user in if they enter a username and password. Could someone please look at my code below and give me an idea were ive went wrong? thank you :)

--------------------------------------------------------------------------

Hi there. Well, you were very nearly there with this, so well done. I have taken the liberty to change your loop for you, though feel free to change it back again if this doesn't meet what you have been tasked with. I thought it might be a hassle to capture the number of users and loop through this way - I have changed it so it doesn't matter how many users you have, it will check the whole list.

Take a look at this code and see if it suits your purpose. There are a few other things I'd fix in there to make it more efficient/tidy, however it works and meets the requirements of your assignment.

Let me know how you get on.

Code:

Sub LogIn()
   
    'stops the screen from flickering
    Application.ScreenUpdating = False
   
    'declares variables
    Dim uname As String
    Dim pword As String
    Dim PasswordFound As Boolean
   
    'moves worksheet and sets values to variables
    Sheets("LogInForm").Select
    uname = Range("Username")
    pword = Range("Password")
   
    'if both values are not empty then check to see if they are a valid combination
    If uname < "" And pword < "" Then
       
        ' Move to the sheet of username/password combos
        Sheets("UserDetails").Select
        Range("A1").Activate
       
        PasswordFound = False
       
        ' Keep reading until the bottom of the list of usernames
        Do Until ActiveCell = ""
            ' do the username and password match?
            If ActiveCell = uname And ActiveCell.Offset(0, 1) = pword Then PasswordFound = True
            ' move down to the next row
            ActiveCell.Offset(1, 0).Activate
        Loop
       
        'if correct uname and pword are correct values
        If PasswordFound Then
       
            'move worksheets and reset values , then moves sheets
            Sheets("LogInForm").Select
            Range("Username") = ""
            Range("Password") = ""
            Sheets("MainMenu").Select
            MsgBox "Your login was successful", vbOKOnly, "Login Success"
        'if values dont match
        Else
       
            MsgBox "Please try again, You must enter a valid username and password", vbOKOnly, "Login Unsuccessful"
           
        'ends if statement
        End If
   
        'if the boolean is true
        If ErrorX = True Then
           
            'moves sheets, clears form, displays message box
            Sheets("LoginForm").Select
           
            Range("Username") = ""
            Range("Password") = ""
   
           
            'ends if statement
        End If
   
    ' Both password and username not entered
    Else
       
        'displays error
        MsgBox "You must enter both a username and password", vbOKOnly, "Username and Password Required"
   
    'ends if statement
    End If

End Sub



All times are GMT +1. The time now is 12:12 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com