Como pasar los datos de una matriz vba a un rango de celdas

23/12/2007 - 23:27 por Anonimo | Informe spam
El caso es que me preguntaba si existe alguna forma mas sencilla de pasar
los datos de una matriz a un rango de excel. Me explico un poco mejor.
Utilizo el excel 2007, y lo que quiero, es por ejemplo, trabajar con vba
mediante matrices para trabajar con un numero de datos importante y luego
plasmar esos resultados en celdas.

El proceso se hacerlo, mas o menos bien.

Sub probar ()

dim matriz (1 to 5, 1 to 5)

for i= 1 to 5

for j=1 to 5
matriz(n,m)=i*j
next j
next i


bueno mas o menos

el caso es que no queria hacer otro bucle para colocar los datos en la hoja

querria saber si existe alguna forma mas sencilla de hacer esto sin bucle de
nuevo

algo como cells(1,1)= matriz()

que con una sola orden ya lo hiciese.

Igual no me explico bien, lo siente, pero al menos la idea creo que se
capte, no?
 

Leer las respuestas

#1 Héctor Miguel
24/12/2007 - 00:17 | Informe spam
hola, 'anonimo/a' !

deberas "igualar" las variables para las dimensiones de la matriz a las mismas por las que avanzan los bucles (p.e.)
de: -> matriz(n,m)=i*j
a: -> matriz(i,j)=i*j

despues puedes hacer al pase "de un solo paso" +/- como sigue:

Sub Probar()
Dim Matriz(1 To 5, 1 To 5)
For i = 1 To 5
For j = 1 To 5
Matriz(i, j) = i * j
Next
Next
Range("a1").Resize(5, 5).Value = Matriz
End Sub

saludos,
hector.

__ la consulta original __
El caso es que me preguntaba si existe alguna forma mas sencilla de pasar los datos de una matriz a un rango de excel.
Me explico un poco mejor. Utilizo el excel 2007, y lo que quiero, es por ejemplo, trabajar con vba mediante matrices
para trabajar con un numero de datos importante y luego plasmar esos resultados en celdas.
El proceso se hacerlo, mas o menos bien.
Sub probar ()
dim matriz (1 to 5, 1 to 5)
for i= 1 to 5
for j=1 to 5
matriz(n,m)=i*j
next j
next i

bueno mas o menos
el caso es que no queria hacer otro bucle para colocar los datos en la hoja
querria saber si existe alguna forma mas sencilla de hacer esto sin bucle de nuevo
algo como cells(1,1)= matriz()
que con una sola orden ya lo hiciese.
Igual no me explico bien, lo siente, pero al menos la idea creo que se capte, no?

Preguntas similares