ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Reading from a excel sheet to an array (https://www.excelbanter.com/excel-programming/329623-reading-excel-sheet-array.html)

Pradip Jain

Reading from a excel sheet to an array
 
i am running simulation analysis. Each simulation returns results comes in
cells b60 to b85 of sheet2. next simulation will also return its output in
the same range.

suppose i am running 10 simulations. each simulation output is basically a
10 rows by 1 column range in sheet2. this results need to go into an array
called FinalOutput which would be a 26 by 10 array. I want to read the entire
range "b60 to b85" in sheet2 into the FinalOutput array. Basically depending
on the simulation number, an entire column of FinalOutput array gets created.
so simulation 1 output gets transferred to column 1 of final output array and
so on. is there some way i can transfer an entire range into a column of an
array.

thanks
pradip


Mangesh

Reading from a excel sheet to an array
 
something like this:

Set rng = Range("A1:A3")

For i = 1 To 3
a(i, 1) = rng(i, 1)
Next i

Range("A13").Resize(3, 2) = a


Mangesh


"Pradip Jain" wrote in message
...
i am running simulation analysis. Each simulation returns results comes in
cells b60 to b85 of sheet2. next simulation will also return its output in
the same range.

suppose i am running 10 simulations. each simulation output is basically a
10 rows by 1 column range in sheet2. this results need to go into an array
called FinalOutput which would be a 26 by 10 array. I want to read the

entire
range "b60 to b85" in sheet2 into the FinalOutput array. Basically

depending
on the simulation number, an entire column of FinalOutput array gets

created.
so simulation 1 output gets transferred to column 1 of final output array

and
so on. is there some way i can transfer an entire range into a column of

an
array.

thanks
pradip




Tom Ogilvy

Reading from a excel sheet to an array
 
Not unless you want to have an array of arrays. however, for so small a
range, you shouldn't have much impact.

--
Regards,
Tom Ogilvy



"Pradip Jain" wrote in message
...
i am running simulation analysis. Each simulation returns results comes in
cells b60 to b85 of sheet2. next simulation will also return its output in
the same range.

suppose i am running 10 simulations. each simulation output is basically a
10 rows by 1 column range in sheet2. this results need to go into an array
called FinalOutput which would be a 26 by 10 array. I want to read the

entire
range "b60 to b85" in sheet2 into the FinalOutput array. Basically

depending
on the simulation number, an entire column of FinalOutput array gets

created.
so simulation 1 output gets transferred to column 1 of final output array

and
so on. is there some way i can transfer an entire range into a column of

an
array.

thanks
pradip




Alan Beban[_2_]

Reading from a excel sheet to an array
 
Pradip Jain wrote:
i am running simulation analysis. Each simulation returns results comes in
cells b60 to b85 of sheet2. next simulation will also return its output in
the same range.

suppose i am running 10 simulations. each simulation output is basically a
10 rows by 1 column range in sheet2. this results need to go into an array
called FinalOutput which would be a 26 by 10 array. I want to read the entire
range "b60 to b85" in sheet2 into the FinalOutput array. Basically depending
on the simulation number, an entire column of FinalOutput array gets created.
so simulation 1 output gets transferred to column 1 of final output array and
so on. is there some way i can transfer an entire range into a column of an
array.

thanks
pradip

??? Where is the FinalOutput array between simulations?

Alan Beban

Alan Beban[_2_]

Reading from a excel sheet to an array
 
It isn't at all clear what your process is, but on the narrow question
of transferring the contents of a column to a column of an array, if the
functions in the freely downloadable file at
http:/home.pacbell.net/beban are available to your workbook, the
following will transfer the contents of the range to the 4th "column" of
the array FinalOutput if it is an array of 26 rows and at least n columns:

n=4 'Simulation number
Set rng = Sheets("sheet2").Range("b60.b85")
ReplaceSubArray FinalOutput, rng, 1, n

This can, of course, also be done directly by

For i = 1 to 26
FinalOutput(i,n) = rng(i)
Next

Alan Beban

Pradip Jain wrote:
i am running simulation analysis. Each simulation returns results comes in
cells b60 to b85 of sheet2. next simulation will also return its output in
the same range.

suppose i am running 10 simulations. each simulation output is basically a
10 rows by 1 column range in sheet2. this results need to go into an array
called FinalOutput which would be a 26 by 10 array. I want to read the entire
range "b60 to b85" in sheet2 into the FinalOutput array. Basically depending
on the simulation number, an entire column of FinalOutput array gets created.
so simulation 1 output gets transferred to column 1 of final output array and
so on. is there some way i can transfer an entire range into a column of an
array.

thanks
pradip


Alan Beban[_2_]

Reading from a excel sheet to an array
 
Alan Beban wrote:
It isn't at all clear what your process is, but on the narrow question
of transferring the contents of a column to a column of an array, if the
functions in the freely downloadable file at
http:/home.pacbell.net/beban are available to your workbook, the
following will transfer the contents of the range to the 4th "column" of
the array FinalOutput if it is an array of 26 rows and at least n columns:

n=4 'Simulation number
Set rng = Sheets("sheet2").Range("b60.b85")
ReplaceSubArray FinalOutput, rng, 1, n

This can, of course, also be done directly by

For i = 1 to 26
FinalOutput(i,n) = rng(i)
Next

Alan Beban


Undoubtedly faster (but I didn't test that) would be

arrTemp = rng
For i = 1 to 26
FinalOutput(i,n) = arrTemp(i,1)
Next

Alan Beban


Pradip Jain wrote:

i am running simulation analysis. Each simulation returns results
comes in cells b60 to b85 of sheet2. next simulation will also return
its output in the same range.

suppose i am running 10 simulations. each simulation output is
basically a 10 rows by 1 column range in sheet2. this results need to
go into an array called FinalOutput which would be a 26 by 10 array. I
want to read the entire range "b60 to b85" in sheet2 into the
FinalOutput array. Basically depending on the simulation number, an
entire column of FinalOutput array gets created. so simulation 1
output gets transferred to column 1 of final output array and so on.
is there some way i can transfer an entire range into a column of an
array.

thanks pradip



All times are GMT +1. The time now is 08:54 PM.

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