View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Worksheet names to variant arrays

Because that is the way you created them. By adding a semi-colon after the 4
in NameNumbers2, you created a second dimension to the array.

--
HTH

Bob Phillips

"Alasdair Stirling" wrote in
message ...
I have a worksheet with the numbers 1 to 8 in range d8:g9 and have named
range d8:g8 "SheetNumbers" and d8:g9 "SheetNumbers2". I have also defined
two workbook names as follows: "NameNumbers" ={1,2,3,4} and "NameNumbers2"
={1,2,3,4;5,6,7,8}.

I have a vba procedure as follows:

Sub alpha()

Dim X As Variant, Y As Variant

X = Sheet1.Range("SheetNumbers2")
Y = [NameNumbers2]

Debug.Print LBound(X, 1); UBound(X, 1)
Debug.Print LBound(Y, 1); UBound(Y, 1)

End Sub

That produces the following result in the intermediate window:

1 2
1 2

So far so good, but I also have another procedure as follows:

Sub bravo()

Dim X As Variant, Y As Variant

X = Sheet1.Range("SheetNumbers")
Y = [NameNumbers]

Debug.Print LBound(X, 1); UBound(X, 1)
Debug.Print LBound(Y, 1); UBound(Y, 1)

End Sub

That produces the following result in the intermediate window:

1 1
1 4

For some reason Excel seems to interpret NameNunbers2 as an array of 2

rows
and 4 columns, but interprets NameNumbers as a single column array of 4

rows.
Does anybody know why?