Class Modules

G

Guest

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
 
B

Bob Phillips

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)
 
D

Dana DeLouis

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?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top