ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Assigning range names to arrays (https://www.excelbanter.com/excel-programming/307813-assigning-range-names-arrays.html)

Kurt Krueger

Assigning range names to arrays
 
Hi,

I want to set an array (array_transit) to any one of a number of
ranges in a workbook. I thought that I could store the range names in
an array and then call the array element number in a set range
statement. Didn't work--any suggestions?

Thanks,

Kurt

Function macro_test(parm_range_id_number As Integer) As Variant
Dim array_transit As Range
Dim array_names
array_names(1) = "range_males_all"
array_names(2) = "range_females_all"
.....
array_names(n) = " ... "

array_transit = Range(array_names(parm_range_id_number))

.. . .

End Function

BrianB

Assigning range names to arrays
 

Code
-------------------

Dim array_names(100) ' or whatever

-------------------


--
Message posted from http://www.ExcelForum.com


Dave Peterson[_3_]

Assigning range names to arrays
 
And since array_transit is a range:

set array_transit = range(array_names(parm_range_id_number))

It may work if everything else is ok <vbg.

Another way of populating that array:

dim parm_range_id_number as long
dim Array_Names as Variant
array_names = array("range_males_all","range_females_all", _
"keepgoing","keepongoing")


for parm_range_id_number = lbound(array_names) to ubound(array_names)
set array_transit = range(array_names(parm_range_id_number))
'do lots of stuff
next parm_range_id_number




Kurt Krueger wrote:

Hi,

I want to set an array (array_transit) to any one of a number of
ranges in a workbook. I thought that I could store the range names in
an array and then call the array element number in a set range
statement. Didn't work--any suggestions?

Thanks,

Kurt

Function macro_test(parm_range_id_number As Integer) As Variant
Dim array_transit As Range
Dim array_names
array_names(1) = "range_males_all"
array_names(2) = "range_females_all"
....
array_names(n) = " ... "

array_transit = Range(array_names(parm_range_id_number))

. . .

End Function


--

Dave Peterson



All times are GMT +1. The time now is 08:47 AM.

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