Asignar rangos a matrices

19/10/2006 - 12:21 por Findeo | Informe spam
Buenos días a todos.
Estoy volviendome un poco loco, pues creo que lo he visto en algún sitio,
pero no consigo encontrarlo.
Mi problema es el siguiente:
En VBA quisiera poder asignar los valores de las celdas de un rango
(consecutivo) a una matriz, pero sin entrar en un bucle. ¿Es posible hacerlo?

Es decir, por ejemplo, las celdas A1...E1 contienen los valores que quisiera
que se recogieran en una matriz llamada Nivel, de tal modo que Nivel(1)¡,
Nivel(2)±, ..., Nivel(5)á y que se pudiera hacer la asignación mediante
una instrucción, algo así como Nivel(.¿?.)=Range("A1:E1").Value

Por otro lado, tampoco se si puedo utilizar un Nombre, que se defina en VBA,
que contenga esos mismos valores, y, haciendo algo como lo expuesto
anteriormente, asignar esos valores al nombre (el nombre sería también una
variable matricial, pero disponible en la hoja de calculo)

Todo esto viene a cuento, porque los valores a leer estarán en otro libro,
no cambian una vez los libros abiertos y se utilizan frecuentemente en el
primer libro. Por eso, trato que los valores se lean una vez y no tener que
volver a leerlos (activando el otro libro y volviendo a activar el libro
original al final) cada vez que los voy a usar.

No se si he esta claro mi problema, pero de no ser asi, os ruego me lo
hagais saber.

Gracias y un saludo
Findeo
 

Leer las respuestas

#1 Juan M
19/10/2006 - 14:35 | Informe spam
Hola Findeo

Estoy volviendome un poco loco, pues creo que lo he visto en algún sitio,



Si lo has visto en el foro, creo entender que te refieres a esto

http://tinyurl.com/y57d5y

Si no es eso espero que puedas explicarnos otra vez como haces la captura de
datos, ya que los podrias leer una vez y ya esta, luego los almacenas en
diferentes rangos, si las macros, que me imagino que estas empleando se
interrumpen para que el usuario pueda modificar lo que estime oportuno, lo
que podria ocasionar que las variables se borren.
Si las macros corren todas a la vez, podrias intentar declarar las variables
como globales.

No se si esto ha quedado claro pero bueno, si te puedo ayudar en algo,
comentas.

Un saludo
Juan

consulta original
"Findeo" escribió en el mensaje
news:
Buenos días a todos.
Estoy volviendome un poco loco, pues creo que lo he visto en algún sitio,
pero no consigo encontrarlo.
Mi problema es el siguiente:
En VBA quisiera poder asignar los valores de las celdas de un rango
(consecutivo) a una matriz, pero sin entrar en un bucle. ¿Es posible
hacerlo?

Es decir, por ejemplo, las celdas A1...E1 contienen los valores que
quisiera
que se recogieran en una matriz llamada Nivel, de tal modo que
Nivel(1)¡,
Nivel(2)±, ..., Nivel(5)á y que se pudiera hacer la asignación
mediante
una instrucción, algo así como Nivel(.¿?.)=Range("A1:E1").Value

Por otro lado, tampoco se si puedo utilizar un Nombre, que se defina en
VBA,
que contenga esos mismos valores, y, haciendo algo como lo expuesto
anteriormente, asignar esos valores al nombre (el nombre sería también una
variable matricial, pero disponible en la hoja de calculo)

Todo esto viene a cuento, porque los valores a leer estarán en otro libro,
no cambian una vez los libros abiertos y se utilizan frecuentemente en el
primer libro. Por eso, trato que los valores se lean una vez y no tener
que
volver a leerlos (activando el otro libro y volviendo a activar el libro
original al final) cada vez que los voy a usar.

No se si he esta claro mi problema, pero de no ser asi, os ruego me lo
hagais saber.

Gracias y un saludo
Findeo

Preguntas similares