Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Class Modules
Hi!
In a class module I have declared a matrix ( name(120,120) as double), i have a sub procedure that does som calculations, so that I have the information I want to use for calculations stored in that matrix. In a generall module procedures I want to have access to a column of this matrix, but I haven't got a clue as how to get hold of it. Preferably I would like to assign a double variable of length 120 the contents of a column of my choice belonging to an instance of that class. Since the variable is of type (120,120)double I can not access it in the usual way by the syntax object.matrix(i,j). Also, is there a way of selecting multiple indexes in a vector? In computer algebra software such as Matlab,S-plus or R, I am used to be able to specify a particular range of indexes , i.e matrix(1:90,120) where 1:90 is row 1 to 90, and 120 the 120th column. Is there any way of doing such an opperation using VBA/Excel. Any suggestion on how to solve my problem, or links to sites where I can read up on these matters will be greatly apprectiated. Stig |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Class Modules
I know of no built-in functionality to achieve it, but it should be
relatively simple to craft your own methods/properties to achieve this, loading it into a new array and returning that. -- --- HTH Bob (change the xxxx to gmail if mailing direct) "STIG" wrote in message ... Hi! In a class module I have declared a matrix ( name(120,120) as double), i have a sub procedure that does som calculations, so that I have the information I want to use for calculations stored in that matrix. In a generall module procedures I want to have access to a column of this matrix, but I haven't got a clue as how to get hold of it. Preferably I would like to assign a double variable of length 120 the contents of a column of my choice belonging to an instance of that class. Since the variable is of type (120,120)double I can not access it in the usual way by the syntax object.matrix(i,j). Also, is there a way of selecting multiple indexes in a vector? In computer algebra software such as Matlab,S-plus or R, I am used to be able to specify a particular range of indexes , i.e matrix(1:90,120) where 1:90 is row 1 to 90, and 120 the 120th column. Is there any way of doing such an opperation using VBA/Excel. Any suggestion on how to solve my problem, or links to sites where I can read up on these matters will be greatly apprectiated. Stig |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Class Modules
In computer algebra software such as
Matlab,S-plus or R, I am used to be able to specify a particular range of indexes , i.e matrix(1:90,120) where 1:90 is row 1 to 90, and 120 the 120th Hi. Not sure if this could help or not. You may be able to take an entire column, but it is hard to take parts of a single array. Here, V is made of "All" Rows of the second Column. Then, Redim is used to shrink the array down to the first two values. It won't work if the index doesn't start at 1. Sub Demo() Dim Fx As WorksheetFunction Dim M(), V Const All As Long = 0 Set Fx = WorksheetFunction M = [{1,2,3;4,5,6;7,8,9}] V = Fx.Transpose(Fx.Index(M, All, 2)) ReDim Preserve V(1) End Sub It's kind of similar to math programs... M = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; M[[All,2]] {2, 5, 8} Does making your Matrix a Public variable help? -- HTH :) Dana DeLouis Windows XP & Office 2003 "STIG" wrote in message ... Hi! In a class module I have declared a matrix ( name(120,120) as double), i have a sub procedure that does som calculations, so that I have the information I want to use for calculations stored in that matrix. In a generall module procedures I want to have access to a column of this matrix, but I haven't got a clue as how to get hold of it. Preferably I would like to assign a double variable of length 120 the contents of a column of my choice belonging to an instance of that class. Since the variable is of type (120,120)double I can not access it in the usual way by the syntax object.matrix(i,j). Also, is there a way of selecting multiple indexes in a vector? In computer algebra software such as Matlab,S-plus or R, I am used to be able to specify a particular range of indexes , i.e matrix(1:90,120) where 1:90 is row 1 to 90, and 120 the 120th column. Is there any way of doing such an opperation using VBA/Excel. Any suggestion on how to solve my problem, or links to sites where I can read up on these matters will be greatly apprectiated. Stig |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Class modules: parametrize class object fields | Excel Programming | |||
VBA Class Modules | Excel Programming | |||
Basic question - modules and class modules - what's the difference? | Excel Programming | |||
Class Modules | Excel Programming | |||
Class Modules vs Modules | Excel Programming |