ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Populate a matrix, How? (https://www.excelbanter.com/excel-programming/288626-populate-matrix-how.html)

Beto[_3_]

Populate a matrix, How?
 
Hi,
I'm trying to populate a matrix but I can't figure it out a better way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not working as
I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think there must
be a better way.
I also know that I can use a hidden sheet and then just copy the data
from the sheet to the matrix, but i'd like a only VBA code solution.

Can something like this be done?
Regards,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.


Alan Beban[_4_]

Populate a matrix, How?
 
Dim myMatrix As Variant
myMatrix = Array(Array(10, 100), Array(20, 200), Array(30, 300))

Alan Beban

Beto wrote:
Hi,
I'm trying to populate a matrix but I can't figure it out a better way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not working as
I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think there must
be a better way.
I also know that I can use a hidden sheet and then just copy the data
from the sheet to the matrix, but i'd like a only VBA code solution.

Can something like this be done?
Regards,



Bernie Deitrick

Populate a matrix, How?
 
Alan,

How do your read the values from that? I get errors with anything
like:

Msgbox myMatrix(1,1)

Bernie
MS Excel MVP

"Alan Beban" wrote in message
...
Dim myMatrix As Variant
myMatrix = Array(Array(10, 100), Array(20, 200), Array(30, 300))

Alan Beban

Beto wrote:
Hi,
I'm trying to populate a matrix but I can't figure it out a better

way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not

working as
I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think

there must
be a better way.
I also know that I can use a hidden sheet and then just copy the

data
from the sheet to the matrix, but i'd like a only VBA code

solution.

Can something like this be done?
Regards,





Bob Phillips[_6_]

Populate a matrix, How?
 
Bernie,

It's like the JavaScript multi-dimension arrays

MsgBox myMatrix(1)(1)

Regards

Bob

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Alan,

How do your read the values from that? I get errors with anything
like:

Msgbox myMatrix(1,1)

Bernie
MS Excel MVP

"Alan Beban" wrote in message
...
Dim myMatrix As Variant
myMatrix = Array(Array(10, 100), Array(20, 200), Array(30, 300))

Alan Beban

Beto wrote:
Hi,
I'm trying to populate a matrix but I can't figure it out a better

way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not

working as
I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think

there must
be a better way.
I also know that I can use a hidden sheet and then just copy the

data
from the sheet to the matrix, but i'd like a only VBA code

solution.

Can something like this be done?
Regards,







Bernie Deitrick

Populate a matrix, How?
 
Bob,

Thanks!

Now, how do you read the dimensions? : )

TIA,
Bernie
MS Excel MVP who-learns-something-new-every-day

It's like the JavaScript multi-dimension arrays

MsgBox myMatrix(1)(1)





Bernie Deitrick

Populate a matrix, How?
 
I figured it out. For example:

MsgBox UBound(myMatrix) - LBound(myMatrix) + 1 & " by " & _
UBound(myMatrix(0)) - LBound(myMatrix(0)) + 1 & " Matrix"

HTH,
Bernie
MS Excel MVP

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Bob,

Thanks!

Now, how do you read the dimensions? : )

TIA,
Bernie
MS Excel MVP who-learns-something-new-every-day

It's like the JavaScript multi-dimension arrays

MsgBox myMatrix(1)(1)







Alan Beban[_4_]

Populate a matrix, How?
 
myMatrix(0)(0) = 10
myMatrix(0)(1) = 100
myMatrix(1)(0) = 20
myMatrix(1)(1) = 200
myMatrix(2)(0) = 30
myMatrix(2)(1) = 300

Lbound(myMatrix) = 0
UBound(myMatrix) = 2

LBound(myMatrix(0))= 0
UBound(myMatrix(0))= 1
LBound(myMatrix(1))= 0
UBound(myMatrix(1))= 1
LBound(myMatrix(2))= 0
UBound(myMatrix(2))= 1

Alan Beban

Bernie Deitrick wrote:
Alan,

How do your read the values from that? I get errors with anything
like:

Msgbox myMatrix(1,1)

Bernie
MS Excel MVP

"Alan Beban" wrote in message
...

Dim myMatrix As Variant
myMatrix = Array(Array(10, 100), Array(20, 200), Array(30, 300))

Alan Beban

Beto wrote:

Hi,
I'm trying to populate a matrix but I can't figure it out a better


way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not


working as

I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think


there must

be a better way.
I also know that I can use a hidden sheet and then just copy the


data

from the sheet to the matrix, but i'd like a only VBA code


solution.

Can something like this be done?
Regards,






Beto[_3_]

Populate a matrix, How?
 
Alan Beban wrote:

Dim myMatrix As Variant
myMatrix = Array(Array(10, 100), Array(20, 200), Array(30, 300))


Thanks, I'll give it a try!

Regards,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.


Dana DeLouis[_3_]

Populate a matrix, How?
 
Just one way that I would do it...

Dim v
v = [{10,100;20,200;30,300}]

HTH.
--
Dana DeLouis
Using Windows XP & Office XP
= = = = = = = = = = = = = = = = =


"Beto" wrote in message
...
Hi,
I'm trying to populate a matrix but I can't figure it out a better way.

Example matrix:

[ 10 100 ]
[ 20 200 ]
[ 30 300 ]

I want a similar way to this: (that does not work)

Dim myMatrix As Variant
ReDim myMatrix(1 To 3, 1 To 2)
myMatrix = Array(Array(10, 20, 30), Array(100,200,300))

This redimensions the matrix to a 6 element array, so is not working as
I want it.
I know I can use "myMatrix(1,1) = 10" and so on, but I think there must
be a better way.
I also know that I can use a hidden sheet and then just copy the data
from the sheet to the matrix, but i'd like a only VBA code solution.

Can something like this be done?
Regards,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.





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

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