Trabajar con matrices para programación VBA en Excel 2016

La mayoría de los lenguajes de programación admiten matrices, incluido VBA. Una matriz es un grupo de variables que comparten un nombre. Se refiere a una variable específica en la matriz utilizando el nombre de la matriz y un número de índice entre paréntesis. Por ejemplo, puede definir una matriz de 12 variables de cadena para contener los nombres de los meses del año. Si nombra la matriz MonthNames , puede hacer referencia al primer elemento de la matriz como MonthNames (1), al segundo elemento como MonthNames (2), y así sucesivamente.

Declarar matrices

Antes de poder usar una matriz, debe declararla. Sin excepciones. A diferencia de las variables normales, VBA es muy estricto con esta regla. Declara una matriz con una instrucción Dim o Public, al igual que declara una variable regular. Sin embargo, también debe especificar el número de elementos de la matriz. Para ello, especifique el primer número de índice, la palabra clave A y el último número de índice, todo entre paréntesis. El siguiente ejemplo muestra cómo declarar una matriz de 100 enteros:

Atenuar MyArray (1 a 100) como entero

Cuando declara una matriz, puede elegir especificar solo el índice superior. Si omite el índice inferior, VBA asume que es 0. Por lo tanto, las dos siguientes declaraciones declaran la misma matriz de 101 elementos:

Atenuar MyArray (0 a 100) como entero
Atenuar MyArray (100) como entero

Si desea que VBA asuma que 1 (en lugar de 0) es el índice más bajo para sus matrices, incluya la siguiente declaración en la sección Declaraciones en la parte superior de su módulo:

Opción Base 1

Esta declaración obliga a VBA a usar 1 como el primer número de índice para matrices que declaran solo el índice superior. Si esta declaración está presente, las siguientes declaraciones son idénticas y ambas declaran una matriz de 100 elementos:

Atenuar MyArray (1 a 100) como entero
Atenuar MyArray (100) como entero

Matrices multidimensionales

Las matrices creadas en los ejemplos anteriores son todas matrices unidimensionales. Piense en matrices unidimensionales como una sola línea de valores. Las matrices que crea en VBA pueden tener hasta 60 dimensiones, aunque rara vez necesita más de dos o tres dimensiones en una matriz. El siguiente ejemplo declara una matriz de 81 enteros con dos dimensiones:

Atenuar MyArray (1 a 9, 1 a 9) como entero

Puede pensar que esta matriz ocupa una matriz de 9 x 9, perfecta para almacenar todos los números en un Sudoku.

Para hacer referencia a un elemento específico en esta matriz, debe especificar dos números de índice (similar a su "fila" y su "columna" en la matriz). El siguiente ejemplo muestra cómo puede asignar un valor a un elemento en esta matriz:

MyArray (3, 4) = 125

Esta declaración asigna un valor a un solo elemento en la matriz. Si está pensando en la matriz en términos de una matriz de 9 x 9, esto asigna 125 al elemento ubicado en la tercera fila y la cuarta columna de la matriz.

A continuación, se explica cómo declarar una matriz tridimensional, con 1000 elementos:

Atenuar My3DArray (1 a 10, 1 a 10, 1 a 10) como entero

Puede pensar en una matriz tridimensional como un cubo. Visualizar una matriz de más de tres dimensiones es más difícil.

Matrices dinámicas

También puede crear matrices dinámicas . Una matriz dinámica no tiene un número predeterminado de elementos. Declare una matriz dinámica con un paréntesis vacío:

Atenuar MyArray () como entero

Antes de poder usar esta matriz, debe usar la declaración ReDim para decirle a VBA cuántos elementos tiene la matriz. Por lo general, el número de elementos de la matriz se determina mientras se ejecuta el código. Puede usar la instrucción ReDim tantas veces como desee, cambiando el tamaño de la matriz tantas veces como sea necesario. El siguiente ejemplo demuestra cómo cambiar el número de elementos en una matriz dinámica. Asume que la variable NumElements contiene un valor, que su código calculó.

ReDim MyArray (1 a NumElements)

Cuando redimensiona una matriz utilizando ReDim, borra los valores almacenados actualmente en los elementos de la matriz. Puede evitar destruir los valores antiguos utilizando la palabra clave Preserve. El siguiente ejemplo muestra cómo puede conservar los valores de una matriz cuando redimensiona la matriz:

ReDim Preserve MyArray (1 a NumElements)

Si MyArray tiene actualmente diez elementos y ejecuta la instrucción anterior con NumElements igual a 12, los primeros diez elementos permanecen intactos y la matriz tiene espacio para dos elementos adicionales (hasta el número contenido en la variable NumElements). Sin embargo, si NumElements es igual a 7, los primeros siete elementos se conservan, pero los tres elementos restantes desaparecen.


Cómo programar una reunión de Skype

Cómo programar una reunión de Skype

Aprenda a programar reuniones efectivas en Skype Empresarial desde Outlook o la aplicación de Skype. Siga nuestros sencillos pasos para una mejor colaboración.

Cómo usar Pegado especial en Excel 2016

Cómo usar Pegado especial en Excel 2016

Aprende a usar la función de Pegado Especial en Excel 2016 para optimizar la forma en que insertas datos en tus hojas de cálculo. Controla qué información se pega y realiza operaciones matemáticas simples con facilidad.

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Descubre las funciones de Excel para convertir entre binario, octal, decimal y hexadecimal con esta tabla informativa y consejos útiles para optimizar tu trabajo.

Instalar y activar un complemento de Power Query de Excel

Instalar y activar un complemento de Power Query de Excel

Completa guía sobre cómo instalar y activar el complemento de Power Query en Excel 2010 y 2013, y su uso en Excel 2016. Aprende a gestionar datos de manera efectiva en Excel.

Access 2019: Cómo editar y modificar una base de datos de Access

Access 2019: Cómo editar y modificar una base de datos de Access

Aprende a modificar y editar bases de datos en Access 2019, incluyendo cómo nombrar campos, agregar y eliminar campos, y definir tipos de datos. ¡Optimiza tu trabajo con Access!

Cómo usar el comando Ir a en Word 2016

Cómo usar el comando Ir a en Word 2016

El comando Ir a en Word 2016 es una herramienta poderosa para navegar rápidamente a una página específica o a elementos dentro del documento. Aprende a optimizar tu flujo de trabajo con este práctico comando.

Cómo resaltar fechas de fin de semana en Excel

Cómo resaltar fechas de fin de semana en Excel

Aprende cómo resaltar fechas de fin de semana en Excel utilizando formato condicional para mejorar la gestión de tus datos de programación.

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Aprenda a insertar un hipervínculo "mailto" en Excel 2010 para crear correos electrónicos de manera simple y eficiente.

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Aprenda a utilizar las opciones de pegado y Pegado especial en Word 2007 para manejar eficazmente bloques de texto. Optimizando su formato y presentación.

Cómo modificar un gráfico SmartArt en PowerPoint

Cómo modificar un gráfico SmartArt en PowerPoint

Descubre cómo modificar un gráfico SmartArt en PowerPoint incluyendo cambios de diseño, estructura y texto. Mejora tus presentaciones con estos consejos SEO.