Treballant amb matrius per a la programació VBA a Excel 2016

La majoria dels llenguatges de programació admeten matrius, inclòs VBA. Una matriu és un grup de variables que comparteixen un nom. Podeu fer referència a una variable específica de la matriu utilitzant el nom de la matriu i un número d'índex entre parèntesis. Per exemple, podeu definir una matriu de 12 variables de cadena per contenir els noms dels mesos de l'any. Si anomeneu la matriu MonthNames , podeu fer referència al primer element de la matriu com a MonthNames (1), el segon element com a MonthNames (2) i així successivament.

Declaració de matrius

Abans de poder utilitzar una matriu, heu de declarar-la. Sense excepcions. A diferència de les variables normals, VBA és molt estricte amb aquesta regla. Declara una matriu amb una instrucció Dim o Public, de la mateixa manera que declares una variable regular. Tanmateix, també heu d'especificar el nombre d'elements de la matriu. Per fer-ho, especifiqueu el primer número d'índex, la paraula clau A i l'últim número d'índex, tot entre parèntesis. L'exemple següent mostra com declarar una matriu de 100 nombres enters:

Dim MyArray (1 a 100) com a nombre enter

Quan declareu una matriu, podeu triar especificar només l'índex superior. Si ometeu l'índex inferior, VBA suposa que és 0. Per tant, les dues declaracions següents declaren la mateixa matriu de 101 elements:

Dim MyArray (0 a 100) com a nombre enter
Dim MyArray (100) com a nombre enter

Si voleu que VBA assumi que 1 (en lloc de 0) és l'índex inferior per a les vostres matrius, incloeu la declaració següent a la secció Declaracions a la part superior del vostre mòdul:

Opció Base 1

Aquesta declaració obliga a VBA a utilitzar 1 com a primer número d'índex per a matrius que declaren només l'índex superior. Si aquesta declaració està present, les declaracions següents són idèntiques, totes dues declaren una matriu de 100 elements:

Dim MyArray (de 1 a 100) com a nombre enter
Dim MyArray (100) com a nombre enter

Matrius multidimensionals

Les matrius creades als exemples anteriors són totes matrius unidimensionals. Penseu en les matrius unidimensionals com una única línia de valors. Les matrius que creeu a VBA poden tenir fins a 60 dimensions, encara que poques vegades necessiteu més de dues o tres dimensions en una matriu. L'exemple següent declara una matriu de 81 nombres enters amb dues dimensions:

Dim MyArray (1 a 9, 1 a 9) com a nombre enter

Podeu pensar que aquesta matriu ocupa una matriu de 9 x 9, perfecta per emmagatzemar tots els números en un trencaclosques de Sudoku.

Per fer referència a un element específic d'aquesta matriu, heu d'especificar dos números d'índex (similars a la seva "fila" i la seva "columna" a la matriu). L'exemple següent mostra com podeu assignar un valor a un element d'aquesta matriu:

MyArray (3, 4)= 125

Aquesta instrucció assigna un valor a un sol element de la matriu. Si esteu pensant en la matriu en termes d'una matriu de 9 x 9, això assigna 125 a l'element situat a la tercera fila i la quarta columna de la matriu.

A continuació s'explica com declarar una matriu tridimensional, amb 1.000 elements:

Dim My3DArray (1 a 10, 1 a 10, 1 a 10) com a nombre enter

Podeu pensar en una matriu tridimensional com un cub. Visualitzar una matriu de més de tres dimensions és més difícil.

Arrays dinàmics

També podeu crear matrius dinàmiques . Una matriu dinàmica no té un nombre predefinit d'elements. Declarar una matriu dinàmica amb un conjunt buit de parèntesis:

Dim MyArray () com a enter

Abans de poder utilitzar aquesta matriu, heu d'utilitzar la instrucció ReDim per indicar a VBA quants elements té la matriu. Normalment, el nombre d'elements de la matriu es determina mentre s'executa el codi. Podeu utilitzar la instrucció ReDim qualsevol nombre de vegades, canviant la mida de la matriu tantes vegades com sigui necessari. L'exemple següent mostra com canviar el nombre d'elements en una matriu dinàmica. Se suposa que la variable NumElements conté un valor, que el vostre codi ha calculat.

ReDim MyArray (1 a NumElements)

Quan redimensioneu una matriu mitjançant ReDim, elimineu tots els valors emmagatzemats actualment als elements de la matriu. Podeu evitar destruir els valors antics utilitzant la paraula clau Preserva. L'exemple següent mostra com podeu conservar els valors d'una matriu quan redimensioneu la matriu:

ReDim Preserve MyArray (1 a NumElements)

Si MyArray actualment té deu elements i executeu la instrucció anterior amb NumElements igual a 12, els deu primers elements romandran intactes i la matriu té espai per a dos elements addicionals (fins al nombre que conté la variable NumElements). Tanmateix, si NumElements és igual a 7, es conserven els set primers elements, però els tres elements restants s'acaben.

Deixa un comentari

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]