Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Runtime Error '9'

But it might be a way to debug the problem.

EbonLinctus wrote:

From both responses, I gather that I should substitute the sheet names for
sSName, yes?

All I did was follow the instructions on how to perform this task (see
http://exceltips.vitalnews.com/Pages...y_User.htm l).
My guess is that the instructions was based on the assumption that the
reader would know what to do (I don't).

"Dave Peterson" wrote:

There is no sheet in the activeworkbook named whatever sSName holds.

If you're positive that there is, then look for typing differences--leading or
trailing spaces may be the culprit.



EbonLinctus wrote:

No. As you can tell, I copied the code from Vital News' website.

The original code follows is as follows

Dim bOK2Use As Boolean

Private Sub btnOK_Click()
Dim bError As Boolean
Dim sSName As String
Dim p As DocumentProperty
Dim bSetIt As Boolean

bOK2Use = False
bError = True
If Len(txtUser.Text) 0 And Len(txtPass.Text) 0 Then
bError = False
Select Case txtUser.Text
Case "user1"
sSName = "u1sheet"
If txtPass.Text < "u1pass" Then bError = True
Case "user2"
sSName = "u2sheet"
If txtPass.Text < "u2pass" Then bError = True
Case Else
bError = True
End Select
End If
If bError Then
MsgBox "Invalid User Name or Password"
Else
'Set document property
bSetIt = False
For Each p In ActiveWorkbook.CustomDocumentProperties
If p.Name = "auth" Then
p.Value = sSName
bSetIt = True
Exit For
End If
Next p
If Not bSetIt Then
ActiveWorkbook.CustomDocumentProperties.Add _
Name:="auth", LinkToContent:=False, _
Type:=msoPropertyTypeString, Value:=sSName
End If

Sheets(sSName).Visible = True
Sheets(sSName).Unprotect (txtPass.Text)
Sheets(sSName).Activate

bOK2Use = True
Unload UserForm1
End If
End Sub

Private Sub UserForm_Terminate()
If Not bOK2Use Then
ActiveWorkbook.Close (False)
End If
End Sub

So...what do I need to do to obtain the result I want?

"Tim Williams" wrote:

There's no sheet named with the value of sSName ?

--
Tim Williams
Palo Alto, CA


"EbonLinctus" wrote in message ...
I am using Win XP, Excel 2003.

I receive a "Runtime Error '9': Subscript out of range" message.

Code:
     Dim bOK2Use As Boolean
    
     Private Sub btnOK_Click()
         Dim bError As Boolean
         Dim sSName As String
         Dim p As DocumentProperty
         Dim bSetIt As Boolean
    
         bOK2Use = False
         bError = True
         If Len(txtUser.Text)  0 And Len(txtPass.Text)  0 Then
             bError = False
             Select Case txtUser.Text
                 Case "user1"
                     sSName = "Corp"
                     If txtPass.Text < "u1pass" Then bError = True
                 Case "user2"
                     sSName = "Elect"
                     If txtPass.Text < "u2pass" Then bError = True
                 Case Else
                     bError = True
             End Select
         End If
         If bError Then
             MsgBox "Invalid User Name or Password"
         Else
             'Set document property
             bSetIt = False
             For Each p In ActiveWorkbook.CustomDocumentProperties
                 If p.Name = "auth" Then
                     p.Value = sSName
                     bSetIt = True
                     Exit For
                 End If
             Next p
             If Not bSetIt Then
                 ActiveWorkbook.CustomDocumentProperties.Add _
                   Name:="auth", LinkToContent:=False, _
                   Type:=msoPropertyTypeString, Value:=sSName
             End If
    
             Sheets(sSName).Visible = True
             Sheets(sSName).Unprotect (txtPass.Text)
             Sheets(sSName).Activate
    
             bOK2Use = True
             Unload UserForm1
         End If
     End Sub
    
     Private Sub UserForm_Terminate()
         If Not bOK2Use Then
             ActiveWorkbook.Close (False)
         End If
     End Sub
    

During the debug it highlights Sheets(sSName).Visible = True

The sheet names are Corp and Elect.

What I am trying to do is have the user enter the Name and password on a
userform to access a specific worksheet.

What is the problem?




--

Dave Peterson


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
xpath error? Runtime Error 13 type mismatch SteveM Excel Discussion (Misc queries) 1 December 4th 07 09:16 AM
runtime error: syntax error or access violation oucsester[_2_] Excel Programming 1 May 3rd 06 05:51 PM
runtime error: syntax error or access violation oucsester Excel Programming 0 May 3rd 06 02:22 PM
Excel 2003 Macro Error - Runtime error 1004 Cow Excel Discussion (Misc queries) 2 June 7th 05 01:40 PM
Syntax Error Runtime Error '424' Object Required sjenks183 Excel Programming 1 January 23rd 04 09:25 AM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"