Como Obtener un Arreglo como Salida de Una Función en VBA

 

Hasta ahora hemos vistos que una función puede colocar un solo valor en la celda donde se introduce, sin embargo, existen funciones que pueden dar como resultado un arreglo (Array).

En Excel se tienen las funciones matriciales que proporcionan este tipo de resultado. Para que se desplieguen los resultados correctamente, debe seleccionarse el rango de celdas donde se copiaran los resultados. Ingresar la función y presionar el conjunto de teclas CTRL+SHIFT+ENTER.

clip_image002

En la figura se muestran las matrices A, en el rango B4:D6 y B, en el rango F4:H6. Queremos obtener la matriz C como la suma de A y B. El resultado lo queremos colocar en el rango J4:L6.

1. seleccionamos el rango J4:L6.

2. colocamos el signo de igual (=) para ingresar una formula.

3. Marcamos el rango B4:D6 y colocamos el signo +.

4. Marcamos el rango F4:H6.

5. Ingresamos simultáneamente Ctrl+Shift+Enter. Aparecerán llaves al inició y al final de la formula automáticamente. No hay que colocarlas, esto es un indicativo de una formula Array.

La misma fórmula ha sido ingresada a cada una de las celdas del rango marcado.

Ahora deseamos crear en VBA una función definida por el usuario que dé como resultado un arreglo.

La forma de hacer esto es generar dentro de la función un arreglo y dar a cada elemento del arreglo el valor de una variable. Finalmente hay que asignar el arreglo al nombre de la función.

clip_image004

En Lugar de asignar valor por valor a cada elemento del arreglo también podemos utilizar la función Array.

clip_image006

Para hacer uso de esta función en la hoja de EXCEL hay que marcar un rango horizontal de celdas, e introducir la función y finalizar con el grupo de teclas Ctrl+Shift+Enter.

En el siguiente procedimiento se muestra un ejemplo de una función para calcular 3 variables: n, suma y promedio, cuyos valores se desplegarán como un arreglo.

clip_image007

Para utilizar esta función hay que seleccionar un rango horizontal de 3 celdas e introducir la función MyFuncion, con los argumentos que correspondan y finalizar con Ctrl+Shift+Enter. Al hacer esto se mostrarán los valores de n, suma y promedio en las tres celdas seleccionadas.

clip_image008

Referencias Bibliográficas

Billo, E. J. (2007). Excel for Scientists and Engineers, Numerical Methods. Wiley-Interscience.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s