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.


Hoja inteligente 9.1.1

Hoja inteligente 9.1.1

Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.

Compartirpunto

Compartirpunto

SharePoint es un sistema de colaboración basado en web que utiliza una variedad de aplicaciones de flujo de trabajo, bases de datos de "listas" y otros componentes web, así como funciones de seguridad para dar control a los grupos empresariales que trabajan juntos.

Calendario perpetuo 1.0.38/1.0.36

Calendario perpetuo 1.0.38/1.0.36

Van Nien Calendar es una aplicación de visualización de calendario en su teléfono, que le ayuda a ver rápidamente la fecha lunisolar en su teléfono, organizando así su importante trabajo.

Outlook 2021

Outlook 2021

Microsoft Outlook es una aplicación empresarial y de productividad desarrollada por Microsoft Corporation.

Haga clic arriba

Haga clic arriba

ClickUp es una de las plataformas de productividad mejor calificadas para cualquier empresa. Grandes empresas como Google, Booking.com, San Diego Padres y Uber utilizan ClickUp para aumentar la productividad en el lugar de trabajo.

Visor de PDF-XChange 2.5.322.10

Visor de PDF-XChange 2.5.322.10

PDF se ha convertido en un formato de uso común para leer, crear y enviar documentos de texto. A su vez, se ha producido un aumento en el número de programas utilizados para este tipo de documentación. PDF-XChange Viewer se encuentra entre un número creciente de visores de PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice ofrece un conjunto completo de aplicaciones de Office que rivalizan con Microsoft 365, especialmente en Excel, PowerPoint y Word. Le permite gestionar sus proyectos de forma más eficaz y admite varios formatos de archivo.

Descargar iTaxviewer 1.8.7

Descargar iTaxviewer 1.8.7

El software iTaxViewer es el software de lectura de archivos XML más popular en la actualidad. Este software es una aplicación de lectura de declaraciones electrónicas de impuestos en formato XML de la Dirección General de Tributación.

Lector de PDF Nitro

Lector de PDF Nitro

Nitro PDF Reader es un práctico editor de PDF que cubre todas las tareas básicas que la mayoría de las personas realizan todos los días con documentos PDF.

Lector Foxit 12

Lector Foxit 12

Foxit Reader es principalmente un lector de PDF y también le permite crear archivos PDF, firmarlos, editarlos y agregar anotaciones. Funciona en sistemas operativos, existen complementos para varios programas del paquete Microsoft Office.