View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Alan Beban[_2_] Alan Beban[_2_] is offline
external usenet poster
 
Posts: 783
Default Excal, Variant and Range

witek wrote:
Hi guys.

Here it is

dim v as variant

v = Range("a1").Value gives me ordinal type of variant v (double,
string ... etc)


v = Range("a1:a5").Value gives me 1-dimensional array


No, it doesn't; it gives you a 2-D array.

v = Range ("a1:c1").Value gives me 2-dimensional array


sub a (rng as range)
v = rng.value gives me .....?????
end sub

questions

1. does anybody know how to always have 2-dimensional array in v=
rng.value ?


Assuming rng refers to a range, unless rng refers to a single cell, v =
rng.Value will give you a 2-D array.

2. Does anybody know how to find dimension of variant if I even don't
know if it is an array

After v = rng.Value, assuming rng refers to a range,
IsArray(v) will return True if rng refers to a multi-cell range, False
if rng refers to a single-cell range.

2. Does anybody know how to make 2-dim array from a number


Dim v()
ReDim v(1 To 1, 1 To 1)
v(1, 1) = Range("a1").Value

or 1-dim array?

If the functions in the freely downloadable file at
http://home.pacbell.net/beban are available to your workbook

v = TwoD(v)

Alan Beban