Consulting

Results 1 to 5 of 5

Thread: Solved: message above vba code

  1. #1

    Solved: message above vba code

    So I have my macro code and a great big thanks to xld for making it possible for me, but I have another problem. I need to leave a message above each piece of code starting with ' in order to make the system more effective and to understand more what the code means. If somebody could help me with putting the messages above the code that would be a great help. Thank you

    [vba]Sub LogIn()

    'stops the screen from flickering
    Application.ScreenUpdating = False

    'declares variables
    Dim uname As String
    Dim pword As String
    Dim rng As Range

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

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

    '
    With Sheets("UserDetails")

    '
    On Error Resume Next
    Set rng = .Columns(1).Find(uname)
    On Error Goto 0
    If Not rng Is Nothing Then

    '
    Sheets("LogInForm").Range("Username") = ""
    Sheets("LogInForm").Range("Password") = ""

    '
    If pword = rng.Offset(0, 1).Value Then

    'move worksheets and reset values , then moves sheets
    Sheets("MainMenu").Select

    '
    Application.ScreenUpdating = True

    '
    Exit Sub

    '
    End If

    '
    MsgBox "Please try again, You must enter a valid username and password", vbOKOnly

    '
    End With

    '
    Else

    '
    MsgBox "You must enter both a username and password"

    '
    End If

    '
    Application.ScreenUpdating = True

    '
    End Sub [/vba]

  2. #2
    VBAX Mentor
    Joined
    Apr 2009
    Location
    Kingsbury
    Posts
    423
    Location
    JL

    Filled in the ' boxes for you i think they are ok.
    You can get the meanings for any of the keywords by highlighting the word then pressing F1 from the code window.
    Have Fun.

    [VBA]
    '// requires all variables to be declared ( good pratice to include)
    Option Explicit
    Sub LogIn()

    '// stops the screen from flickering does not update screen display functions until = true
    Application.ScreenUpdating = False

    '// Dimenions variables to be used in this sub routine
    Dim uname As String
    Dim pword As String
    Dim rng As Range

    '// selects "loginform" sheet & sets default values to variables
    Sheets("LogInForm").Select
    uname = Range("Username")
    pword = Range("Password")

    '// If the values in uname and pword are less than or greater than. ie not empty
    If uname <> "" And pword <> "" Then

    '// With = the selected sheet name below,do certain things in the code
    With Sheets("UserDetails")

    '// If the code does not find the sheet in the with statement then go to the next statement
    On Error Resume Next
    '// Sets the range(rng) to column(1) find uname
    Set rng = .Columns(1).Find(uname)
    '// if no name found then error returns to 0
    On Error GoTo 0
    '// If not statement returns either true of false, depends what is in Set rng
    If Not rng Is Nothing Then

    '// Resets the sheets & range below to "" ie blank
    Sheets("LogInForm").Range("Username") = ""
    Sheets("LogInForm").Range("Password") = ""

    '// rng.Offset persumes it has a header row on the sheet, downward 1 row
    If pword = rng.Offset(0, 1).Value Then

    '// Selects the named sheet in quotes
    Sheets("MainMenu").Select

    '// Update the screen with any changes handled below
    Application.ScreenUpdating = True

    '// Exit sub routine and also handles error code 0
    Exit Sub

    '// Used in conjuction with the If statements
    End If

    '// windows message box displays if the user enters an invalid name and password returns OK only prompt
    MsgBox "Please try again, You must enter a valid username and password", vbOKOnly

    '// Ends the routine in the With statement
    End With

    '// used with the With statement or if statements and displays another message box
    Else

    '// Displays message box part of the above else statement
    MsgBox "You must enter both a username and password"

    '// End the previous IF statements
    End If

    '// Dont need the one above ? you have this statement above!
    Application.ScreenUpdating = True

    '// Exit sub routine.
    End Sub

    [/VBA]

    Rob

  3. #3
    Thank you very much for this And thanks for the shortcut tip, I'll keep that in mind when I have to create more parts of my system.

  4. #4
    VBAX Mentor
    Joined
    Apr 2009
    Location
    Kingsbury
    Posts
    423
    Location
    jl can you mark post as solved if ok
    had a look at your new post, there is a user form on the system that could be possibly what you want or could modify to suit.
    But i cant find it or remember the link.
    perhaps you can ask Simon Lloyd or MD they might be able to find it for you or point you in the right direction.

    Rob

  5. #5
    Marked it as solved for you and thanks I'll have a look for that user form

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •