View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Ben Ben is offline
external usenet poster
 
Posts: 509
Default Run-time error '9' - doesn't occur when unallocated array is W

Think you may be right there. That's one to watch out for, as I was finding
that code was working fine during debugging but was falling over at run-time.

Thanks for your help.

"Joel" wrote:

Both debug statments get error 9 below

Sub test()
Dim myArray() As Range
Debug.Print myArray(1)
Debug.Print LBound(myArray)
End Sub

Here we get an error 91

Sub test()
Dim myArray(5) As Range
Debug.Print myArray(1)
End Sub


It appears no memory is assigned to the array until a value is placed in the
array. Adding the watch assigns memory to the array and yu don't get the
error.


"ben" wrote:

OK, this is one I have no idea about.

Example code as follows:

Sub test()
Dim myArray() As Range
Debug.Print LBound(myArray)
End Sub

1. If I run this sub, I get a run-time error '9' (obviously...).
2. If I step into this sub, I get the same run-time error '9'.
3. If I add a watch to the variable myArray and have it visible in the
Watches window and then run the sub, I get the run-time error '9'.
4. BUT - If I add a watch to the variable myArray and have it visible in the
watches window and then STEP INTO the sub, I DO NOT get the run-time error
'9'. Instead, the value of 0 is output to the Immediate window.

This might seem trivial, but it's proving a bit irritating when I'm trying
to debug a larger project. Also, it's just a puzzler and I'd love to know
what on earth is going on!!!

Thanks to anybody for help.