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?

Preguntas similare

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?
Respuesta Responder a este mensaje
#2 Anonimo
25/12/2007 - 02:53 | Informe spam
Muchas gracias, y feliz navidad a todos.

Efectivamente, lo de igualar se me paso al escribirlo, pero lo tenia claro,
ahora lo de resize no tenia ni idea, con lo cual gracias de nuevo, me has
ayudado mucho.





"Héctor Miguel" escribió en el mensaje
news:
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?




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida