Arrays

Supongamos que precisamos referenciar los datos de una cartera de clientes. Tal vez precisemos almacenar información para cada uno de los clientes acerca de su nombre, apellidos, dirección, edad,etc. Esto implicaría la declaración de una variable por cada concepto y por cada cliente. Además de la perdida de tiempo, es por tal motivo que recurrimos a las Matrices o Arrays.

Un array es un conjunto de datos del mismo tipo ordenados en forman líneal uno después de otro. Los componentes de un array se han de referenciar por medio del nombre del array y un índice de desplazamiento para indicar el componente deseado.

Como ejemplo práctico vamos a realizar este sencillo ejercicio que va a consistir en obtener los productos cruzados de los primeros 10 números naturales. Para ello vamos a realizar una macro que nos escriba los 10 primeros números en la fila 1 y en la columna A para después efectúar el producto.

  1. Abra un libro nuevo.
  2. Presione Alt+F11 para ejecutar el Editor de Visual Basic.
  3. En el menú Insertar, haga clic en Módulo.
  4. Escriba el siguiente código en la hoja de módulo:

Sub tabla_multiplicar()
    Dim i, j As Byte

        Dim myarray As Variant
        myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
        Range(“a1:a10”).Value = Application.WorksheetFunction.Transpose(myarray)
        Range(“a1:j1”).Value = myarray
        Range(“a1:a10”).Font.ColorIndex = 5
        Range(“a1:j1”).Font.ColorIndex = 5
        For i = 1 To 10
            For j = 1 To 10
            Cells(i, j) = Cells(1, j) * Cells(i, 1)
            Next j
            Next i

        End Sub
Como se habrá podido observar después de  declarar dos variables byte, la i y la j, hemos declarado nuestra matriz con el nombre de  “myarray” y tipo Variant. En principio todos los elmentos de un array deben ser del mismo tipo, el hecho de declararlos de tipo Variante nos facilita mezclar elementos de diferente tipo e incluso incluir otras arrays. Seguidamente hemos definido los elementos de nuestra matriz con la siguiente declaración:

myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Con la siguiente línea invocamos una función de Excel la transposición de matrices. O sea intercambiar filas por columnas:

Range(“a1:a10”).Value = Application.WorksheetFunction.Transpose(myarray)

Con ello conseguimos escribir en forma de columna nuestra matriz fila. A continuación insertamos los valores de la misma matriz en la fila 1

Range(“a1:j1”).Value = myarray
Formateamos un poco dándole color azul a la fuentes de la 1 fila y columna y después insertamos un bucle para efectúar los productos cruzados. No se preocupe por ese fragmento de código lo entenderá cuando tratemos las estructuroas de decisión.

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

A %d blogueros les gusta esto: