
matrices...
Publicado por guihe (38 intervenciones) el 15/04/2009 01:04:36
Hola a todos....
tengo un problema con una matriz en VB, ya he hecho alguna que otra macro y me voy defendiendo (gracias a este foro), pero nunca había hecho matrices.
El caso es que he definido una matriz de 3 dimensiones y la redimensiono según los registros que introduzca como dato.
Es decir si A=80 y B=60 yo quiero una matriz de 3 columas y AxB = 4800 registros.
para la 'columna 1' que quiero que sea un identificador (nº correlativo) si he conseguido el código:
ptos=A*B
dim coord()
redim coord(ptos,3)
For i = 1 To ptos
coord(i, 1) = i
Cells(i + 1, 1) = coord_ORTO(i, 1) 'esto es para verlo sobre la hoja de Excel
Next i
pero para definir los registros de la segunda y tercera columna no sé como hacerlo. Lo que quiero es que en la segunda me repita 60 (valor de B) veces 1, luego 60 veces 2, luego el 3.... hasta el 80 (valor de A). y en la tercera los valores 1,2,3,4,5....60, y esta serie 80 veces.
ID X Y
1 1 1
2 1 2
3 1 3
4 1 4
.. 1 ..
60 1 60
61 2 1
62 2 2
63 2 3
Bueno espero haberme explicado.... y muchas gracias de antemano.
guihe
tengo un problema con una matriz en VB, ya he hecho alguna que otra macro y me voy defendiendo (gracias a este foro), pero nunca había hecho matrices.
El caso es que he definido una matriz de 3 dimensiones y la redimensiono según los registros que introduzca como dato.
Es decir si A=80 y B=60 yo quiero una matriz de 3 columas y AxB = 4800 registros.
para la 'columna 1' que quiero que sea un identificador (nº correlativo) si he conseguido el código:
ptos=A*B
dim coord()
redim coord(ptos,3)
For i = 1 To ptos
coord(i, 1) = i
Cells(i + 1, 1) = coord_ORTO(i, 1) 'esto es para verlo sobre la hoja de Excel
Next i
pero para definir los registros de la segunda y tercera columna no sé como hacerlo. Lo que quiero es que en la segunda me repita 60 (valor de B) veces 1, luego 60 veces 2, luego el 3.... hasta el 80 (valor de A). y en la tercera los valores 1,2,3,4,5....60, y esta serie 80 veces.
ID X Y
1 1 1
2 1 2
3 1 3
4 1 4
.. 1 ..
60 1 60
61 2 1
62 2 2
63 2 3
Bueno espero haberme explicado.... y muchas gracias de antemano.
guihe
Valora esta pregunta


0