Subscript out of range error - selecting a sheet

J

John

Why does this fail? The codename for my sheet is wsh1:

Dim c as integer
c = 1
sheets ("wsh" & c).select

It fails with the error message "subscript out of range. "
 
J

Joel

Where is the code located?

The codenaem of the sheet cannot be changed it is read only. It is usually
Sheet1 and in the VBA project window would be the name not in parenthesis.
To access by code name would be someithing like this

Dim c as integer
c = 1
sheets1.select

If you are using the sheet name in parenthesis then you must have the name
typed incorrectly. You could have extra spaces on the tab which may be
causing the problem.
 
J

John

The code is located in a module. This is actually a stripped down part of my
code - I'm trying to do a "for loop" and I want to loop through wsh1 through
wsh24 (these are code names, not sheet names).
 
R

Rick Rothstein

Your original example didn't give us a lot to go on as to what you are
trying to do, so let me try and give you an overall approach to try out. By
the way, it is almost always a bad idea to simplify your code for
presentation to the newsgroups... doing so almost always forces you to
return to ask us how to modify code offered to you for your actual setup.

Dim ShtNum As Long
Dim WS As Worksheet
......
......
For Each WS In Worksheets
If LCase(WS.Name) Like "wsh#*" Then
If Mid(WS.Name, 4) <= 24 Then
WS.Select
' Rest of your code goes here
End If
End If
Next
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top