Something rather puzzling has occured to my worksheet and I'm not to sure why that is the case.

If I set a range to a worksheet, I expected that refering to a cell that is NOT in the range would result in an error but it hasn't.

For example, if I had the values 10 through to 80 in the cells A1 through to D2 and I write:

Dim rng As Range

Set rng = Range("A1:D1")

Debug.Print rng(3)

this returns the value 30, as expected.

However, if I typed:

Debug.Print rng (5)

I get the value of 50!

But I though rng(5) was OUTSIDE of my range, so surely it should return an error?