ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   extracting a subset of an array with VBA. (https://www.excelbanter.com/excel-programming/295481-extracting-subset-array-vba.html)

y

extracting a subset of an array with VBA.
 
Hi all,

I need to extract an array from another. The dest array will contain,e.g., the even elements of the
first one.

Which code of VBA could help me?
I've thought something this

Function Subset (source As range) As ? (I don't know, I need an array, not a range)
.... my algorithm ...
End Function

This function will be called in a cell as an argument inside several Excel functions.
Could someone tell me how can I return an array? Do I have to take care about some troubles in
particular in building this function?

Thanks in advance,
Alex.



Chris

extracting a subset of an array with VBA.
 
Use a variant to return arrays
----- y wrote: ----

Hi all

I need to extract an array from another. The dest array will contain,e.g., the even elements of the
first one

Which code of VBA could help me
I've thought something thi

Function Subset (source As range) As ? (I don't know, I need an array, not a range
.... my algorithm ..
End Functio

This function will be called in a cell as an argument inside several Excel functions
Could someone tell me how can I return an array? Do I have to take care about some troubles i
particular in building this function

Thanks in advance
Alex




y

extracting a subset of an array with VBA.
 
chris wrote:

Use a variant to return arrays.
----- y wrote: -----

Ok, thanks!


Alan Beban[_2_]

extracting a subset of an array with VBA.
 
You might want to consider the SubArray function in the freely
downloadable file at http://home.pacbell.net/beban.

Alan Beban

y wrote:

Hi all,

I need to extract an array from another. The dest array will
contain,e.g., the even elements of the first one.

Which code of VBA could help me?
I've thought something this

Function Subset (source As range) As ? (I don't know, I need an array,
not a range)
... my algorithm ...
End Function

This function will be called in a cell as an argument inside several
Excel functions.
Could someone tell me how can I return an array? Do I have to take care
about some troubles in
particular in building this function?

Thanks in advance,
Alex.



Harlan Grove

extracting a subset of an array with VBA.
 
"Alan Beban" wrote...
You might want to consider the SubArray function in the freely
downloadable file at http://home.pacbell.net/beban.

....
y wrote:
I need to extract an array from another. The dest array will
contain,e.g., the even elements of the first one.


There are two ways to read the OP's request: the resulting array contains
the even index entries or the even valued entries of the original
range/array. Having reread the code for SubArray, it's not immediately
obvious to me how it could accomplish either of these tasks. Perhaps you
could respond and enlighten with some actual code showing how SubArray could
be used to do either of these tasks.

To the OP: if you want a VBA function to return an array, the function's
return type must be Variant and you'd assign an array to its result. As a
simplistic example,

Function foo(n As Long) As Variant
Dim i As Long, rv As Variant
ReDim rv(1 To n)
For i = 1 To n
rv(i) = i
Next i
foo = rv
End Function




All times are GMT +1. The time now is 05:07 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com