ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   transferring matrix to range (https://www.excelbanter.com/excel-programming/369567-transferring-matrix-range.html)

JackRnl[_2_]

transferring matrix to range
 

A worksheet contains 10000 rows containing each 10 groups of (9 column
of values PLUS 1 empty column).
I want to define a range for each group and load them into an (integer
matrix. After performing some calculations and changing some values o
the a matrix I would like to write the array back into the range.

Something like:
*********
dim rngData as object
dim arrValues(10000,9) as integer

with worksheets("Sheet-1")
set rngdata = range(.cells(1,1),.cells(10000,9))
arrValues = rngData.getvalues() 'a call like that but I don
know the right one
for i=1 to 10000
for j = 1 to 9
arrValues(i,j) = arrvalues(i,j) *rnd() '/// just SOM
calculation
next j
next i
rngdata.values = arrvalues ' a call like that but I don t know th
right one
end with
*********

How can I read the values into the matrix and how can I store th
values onto the range EFFICIENTLY

--
JackRn
-----------------------------------------------------------------------
JackRnl's Profile: http://www.excelforum.com/member.php...fo&userid=3717
View this thread: http://www.excelforum.com/showthread.php?threadid=56888


keepITcool

transferring matrix to range
 

You must use a VARIANT to a block of data from an excel range.
(you can write any TYPED array to a range)

There WERE limitations to the size of the array.
Excel XP SP? and Excel 2003 dont have that limit any more.

Dim vData as Variant
vData =Range("a1:f10000").Value



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


JackRnl wrote in



A worksheet contains 10000 rows containing each 10 groups of (9
columns of values PLUS 1 empty column).
I want to define a range for each group and load them into an
(integer) matrix. After performing some calculations and changing
some values of the a matrix I would like to write the array back into
the range.

Something like:
*********
dim rngData as object
dim arrValues(10000,9) as integer

with worksheets("Sheet-1")
set rngdata = range(.cells(1,1),.cells(10000,9))
arrValues = rngData.getvalues() 'a call like that but I don t
know the right one
for i=1 to 10000
for j = 1 to 9
arrValues(i,j) = arrvalues(i,j) *rnd() '/// just SOME
calculation
next j
next i
rngdata.values = arrvalues ' a call like that but I don t know the
right one
end with
*********

How can I read the values into the matrix and how can I store the
values onto the range EFFICIENTLY?



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

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