"Run Time error '9' - Subscript out of range"

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Hi All

I am stepping through my code and I get to this line:

Set HelpSheet = ThisWorkbook.Sheets(HelpSheetName)

and it gives an error message:

"Run Time error 9 - Subscript out of range".

I have had a look at the help file, but dont really understand it.

Thanks in advance for any help

Kindest Regards
 

Some videos you may like

Excel Facts

Pivot Table Drill Down
Double-click any number in a pivot table to create a new report showing all detail rows that make up that number

Colo

MrExcel MVP,
Joined
Mar 20, 2002
Messages
1,456
Hi Peter,

Please re-confirm the variable HelpSheetName.
Does it have a value as string? :)
 

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Option Explicit
Dim TopicCount As Integer
Dim CurrentTopic As Integer
Dim HelpSheet As Worksheet

Const AppName As String = "Clares Automated Pricing System"
Const HelpSheetName As String = "HelpSheet"
Const HelpFormCaption As String = AppName

String value.

Kind Regards
 

Colo

MrExcel MVP,
Joined
Mar 20, 2002
Messages
1,456
OK, OK. Your code works in my excel as follows.
...So, PLEASE check the name of the worksheet (HelpSheet),
if any space containd.
Eg,
(HelpSheet )
( HelpSheet)

Code:
Option Explicit
Dim TopicCount As Integer
Dim CurrentTopic As Integer
Dim HelpSheet As Worksheet

Const AppName As String = "Clares Automated Pricing System"
Const HelpSheetName As String = "HelpSheet"
Const HelpFormCaption As String = AppName

Sub test()
    Dim HelpSheet As Worksheet
    Set HelpSheet = ThisWorkbook.Sheets(HelpSheetName)
End Sub
 

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Hi Colo

Thanks for that. I have checked my code with yours. But mine still brings the error up. I have checked and renamed the worksheet to ensure that there are no spaces in the name, either brgining and end!

Kindest Regards
 

bat17

Well-known Member
Joined
Aug 15, 2003
Messages
1,470
When you get to the line that bombs out have you checked that the value of HelpSheetName is still "HelpSheet" ?

Just wondering if somewhere esle in the code might be modifying it.

Peter
 

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Hi there

When I glide my cursor over the row of code which is highlighted in yellow:

"Set HelpSheet = ThisWorkbook.Sheets(HelpSheetName)"

it display the following text

HelpSheet=Nothing,
ThisWorkbook.Sheets(HelpSheetName) <subscript out of range>
HelpSheetName = "HelpSheet"

Kindest Regards
 

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Hi there

Sorry the previous should have read:

When I glide my cursor over the row of code which is highlighted in yellow:

"Set HelpSheet = ThisWorkbook.Sheets ( HelpSheetName )"

it display the following text

HelpSheet=Nothing,
ThisWorkbook.Sheets(HelpSheetName) <subscript out of range>
HelpSheetName = "HelpSheet"

Kindest Regards
 

clares

Well-known Member
Joined
Mar 14, 2002
Messages
557
Hi there

Sorry the previous should have read, ok this doesn;t like the less than or greater than brackets which subscript appears in:

When I glide my cursor over the row of code which is highlighted in yellow:

"Set HelpSheet = ThisWorkbook.Sheets ( HelpSheetName )"

it display the following text

HelpSheet=Nothing,
ThisWorkbook.Sheets(HelpSheetName) subscript out of range
HelpSheetName = "HelpSheet"

Kindest Regards
 

bat17

Well-known Member
Joined
Aug 15, 2003
Messages
1,470
I have just added colo's code to a new spreadsheet and it works fine for me. Can you post more of the code that you are actualy running?

Peter
 

Watch MrExcel Video

Forum statistics

Threads
1,102,592
Messages
5,487,739
Members
407,608
Latest member
kjw

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...
Top