Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
Open Specific Form by User Login
I have a workbook that requires individuals to login to enter data. Once
they login, data is entered via a form. My question is how do I set the form up so that only the users will see the form and not the manager? There are 4 worksheets, all visible for the manager only. The form puts the data into one of the sheets. Any help would be great! Thanks! This is what I have in the ThisWorkbook section: Private Sub Workbook_Open() LogOnForm.Show EntryForm.Show End Sub This is the VB for the login form: Private Sub cmdEXT_Click() If MsgBox("Do you want to quit Excel", vbYesNo) = vbYes Then Unload Me Application.Quit Else Unload Me Sheets("Logon").Activate End If End Sub Private Sub cmdOK_Click() Dim a, u, p, w(), i As Long, db As Worksheet, Flg As Boolean Dim j As Long, x, y, c As Long, rSource As String Set db = Sheets("DashBoard"): Flg = False: c = 0: x = 0 With db a = .Range("a1").CurrentRegion End With u = UCase(Me.tbUN): p = Me.tbPW: Flg = False With Application x = .Match(u, .Index(a, 0, 1), 0) End With If Not IsError(x) Then If Application.Index(a, x, 2) = p Then Flg = True If Flg Then ReDim w(1 To UBound(a, 2) - 2) For j = 3 To UBound(a, 2) If UCase(a(x, j)) = "A" Then c = c + 1: w(c) = a(1, j) Next Else MsgBox "Incorrect Password", vbCritical + vbOKOnly Exit Sub End If Else MsgBox "Incorrect User Name", vbCritical + vbOKOnly Exit Sub End If For i = 1 To Sheets.Count If Sheets(i).Name < "Logon" Then If IsError(Application.Match(Sheets(i).Name, w, 0)) Then On Error Resume Next Sheets(i).Visible = xlVeryHidden Else Sheets(i).Visible = xlSheetVisible End If End If Next Sheets("Logon").Visible = xlSheetVisible EntryForm.Show End Sub Private Sub UserForm_Activate() Me.tbPW.SetFocus Me.tbUN.SetFocus End Sub |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
Open Specific Form by User Login
You may be able to use
Environ("username") to solve the problem - that will return the username who logged in. Set up an If ... Then to test to see if it's the manager or nor and act accordingly. "Bowtie63" wrote: I have a workbook that requires individuals to login to enter data. Once they login, data is entered via a form. My question is how do I set the form up so that only the users will see the form and not the manager? There are 4 worksheets, all visible for the manager only. The form puts the data into one of the sheets. Any help would be great! Thanks! This is what I have in the ThisWorkbook section: Private Sub Workbook_Open() LogOnForm.Show EntryForm.Show End Sub This is the VB for the login form: Private Sub cmdEXT_Click() If MsgBox("Do you want to quit Excel", vbYesNo) = vbYes Then Unload Me Application.Quit Else Unload Me Sheets("Logon").Activate End If End Sub Private Sub cmdOK_Click() Dim a, u, p, w(), i As Long, db As Worksheet, Flg As Boolean Dim j As Long, x, y, c As Long, rSource As String Set db = Sheets("DashBoard"): Flg = False: c = 0: x = 0 With db a = .Range("a1").CurrentRegion End With u = UCase(Me.tbUN): p = Me.tbPW: Flg = False With Application x = .Match(u, .Index(a, 0, 1), 0) End With If Not IsError(x) Then If Application.Index(a, x, 2) = p Then Flg = True If Flg Then ReDim w(1 To UBound(a, 2) - 2) For j = 3 To UBound(a, 2) If UCase(a(x, j)) = "A" Then c = c + 1: w(c) = a(1, j) Next Else MsgBox "Incorrect Password", vbCritical + vbOKOnly Exit Sub End If Else MsgBox "Incorrect User Name", vbCritical + vbOKOnly Exit Sub End If For i = 1 To Sheets.Count If Sheets(i).Name < "Logon" Then If IsError(Application.Match(Sheets(i).Name, w, 0)) Then On Error Resume Next Sheets(i).Visible = xlVeryHidden Else Sheets(i).Visible = xlSheetVisible End If End If Next Sheets("Logon").Visible = xlSheetVisible EntryForm.Show End Sub Private Sub UserForm_Activate() Me.tbPW.SetFocus Me.tbUN.SetFocus End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Open a user form | Excel Discussion (Misc queries) | |||
Open form to specific record quits working | New Users to Excel | |||
Trying to select a specific range based on the time value of user form input | New Users to Excel | |||
How do I automatically insert the user (login name) in Excel? | Excel Discussion (Misc queries) | |||
use a button to open a user form? | Excel Discussion (Misc queries) |