Matrius VBA d'Excel | Llista dels 5 principals tipus de matrius (amb exemples)

Matrius VBA d'Excel

En general, una variable se suposa que té un valor únic alhora, però quan volem emmagatzemar diversos valors en una sola variable, aquest tipus de variable es coneix com a variable de matriu, per utilitzar una variable de matriu a VBA hem de declarar o primer el definim, podem definir la variable array amb la seva longitud o sense la seva longitud.

Suposem que si tenim dades que contenen centenars de files i diverses columnes i necessitem crear un codi que utilitzarà les dades. Ara, en aquest cas, hem de crear múltiples de la variable que obtindrà el valor de les cel·les i el donarà al programa. Això serà molt cansat per crear una gran quantitat de variables i, per tant, en aquests casos, fem servir Arrays en excel.

Les matrius contenen el conjunt de dades a la memòria i no necessiten que declarem la variable per a cadascun dels valors que cal obtenir de les dades. La necessitat d'utilitzar matrius es deu al fet que en una variable Excel estan dissenyats per contenir un valor a la vegada, però, quan una variable emmagatzema diversos valors, es converteix en una matriu.

  • Crear una matriu és com crear una unitat de memòria independent que pugui contenir les dades. Per crear una matriu, les dades han de ser del mateix tipus.
  • Les matrius que donem a Excel han de correspondre al tipus de dades que tenim. Suposem que si tenim dades que només tenen files, per tant, en aquest cas utilitzarem la "matriu unidimensional" i, si les dades també contenen columnes, haurem d'utilitzar "matrius bidimensionals", ja que només són capaços de mantenir els valors de les files i columnes.
  • Els arrays també han de funcionar per funcionar com a arrays dinàmics o arrays estàtics. A mesura que donem un rang dinàmic a la fórmula, també podem fer que les matrius siguin variables. Les matrius dinàmiques tindran la funcionalitat per incloure un nombre infinit de files i columnes. Si les matrius que hem definit són de tipus estàtic, només poden contenir un nombre limitat de files i columnes tal com es defineix en el moment de crear la matriu.

Explicació

Treballs sobre matrius sobre la "Regla matemàtica de la matriu", és a dir, que identifiquen les dades només per la seva ubicació. Suposem que si hem de fer entendre a VBA que necessitem "20" a la cel·la "B3", hem d'escriure el codi de la ubicació com (3, 2) on el primer valor representa la ubicació de la fila i el segon valor significa el número de columna. Al món excel, aquest codi de localitzacions s’anomena “límit superior” i “límit inferior”. Per defecte, la ubicació a Excel comença a partir d'un i no de zero, de manera que Excel veu "A1" com a fila número 0 i no com a fila número 1.

De la mateixa manera, les columnes comencen des de zero i no des d’una.

Aquestes matrius es poden definir com una matriu estàtica o matriu dinàmica. Si els definim com a matriu estàtica, això vol dir que no poden contenir més de les variables definides mentre es codifiquen. Si no estem segurs del valor que es requereix per memoritzar les matrius, creem matrius dinàmics i, en aquests casos, poden contenir infinitat de valors.

Ara, després d’haver seleccionat el tipus de matriu que cal, ara haurem d’introduir les dades en aquestes matrius.

Cal donar aquestes dades una per una per excel·lir de la següent manera.

Un cop emmagatzemades les dades en aquestes matrius, ja es poden utilitzar com a variable a la codificació VBA.

Llista dels 5 principals tipus de matrius

  1. Matrius estàtics
  2. Matriu dinàmica
  3. Matriu unidimensional
  4. Matriu bidimensional
  5. Matriu multidimensional

Vegem-ne cadascun en detall.

# 1 - Matrius estàtics

Una matriu que té un recompte de valor predefinit que es pot emmagatzemar.

# 2 - Matriu dinàmica

Matriu amb un recompte de valor no predefinit que pot gestionar.

# 3 - Matriu unidimensional

Una matriu que només pot contenir dades de files o columnes.

# 4 - Matriu bidimensional

Una matriu que pot emmagatzemar un valor de les files i columnes.

# 5 - Matriu multidimensional

Com s'utilitzen matrius a VBA (amb exemples)?

Podeu descarregar aquesta matriu a la plantilla Excel de VBA aquí - Matriu a la plantilla Excel de VBA

Les matrius es poden utilitzar en moltes situacions, però s’han d’utilitzar quan el nombre de variables que es volen declarar és gran i no és factible declarar-les.

A continuació es mostren alguns exemples, però abans d’anar als exemples aprendrem a obrir l’editor VBA mitjançant la tecla de drecera

Això obrirà l'editor VBA, a partir d'aquí haurem d'introduir el codi a "Aquest full de treball".

Exemple 1

Trieu el tipus de matriu que vulgueu, ha de ser una matriu dinàmica o estàtica?

Si necessitem una matriu dinàmica, definirem la dimensió com a "variant".

Si necessitem una matriu estàtica, definirem una dimensió com a "Estàtica".

Exemple 2

Definiu les columnes i les files que voleu que emmagatzemi la matriu.

Si hem introduït "1" entre claudàtors, això significa que la matriu pot contenir un valor de 2 files a mesura que el recompte Excel comença a zero.

Si també necessitem columnes i files, hem de definir-les totes dues.

Aquí "1 a 2" significa que dues files i "1 a 3" volen dir tres columnes.

Aquí hem canviat la regla de com Excel compta les files i li hem demanat que compti de "1" i no de zero.

Exemple 3

L'entrada de dades a la matriu.

Les dades s’han d’introduir amb cel·les. Aquí les dades s’han d’introduir en forma de (I, j) on “I” significa la fila i “J” significa la columna.

Per tant, "a (1,1") significa que la cel·la "A1"

Exemple # 4

Tancant el codi.

Després d'haver introduït les dades de la matriu, l'últim pas serà tancar el codi.

Coses que cal recordar

  • Per defecte, Excel comptarà les files a partir de zero. Això significa que "2" en lloc de "I" significa 3 files i no 2 files. Això mateix s'aplica a "J".
  • Les dades que cal introduir per a la matriu s'han d'iniciar des de (0, 0), que és de la primera fila i la primera columna.
  • En el cas que si fem servir les matrius dinàmiques, caldrà la funció de "VBA REDIM" per definir el nombre de files i columnes que cal memoritzar.
  • En cas de crear una matriu bidimensional, hem d'utilitzar "Integer" com a dimensió.
  • El fitxer excel s’ha de desar a la versió que sigui “compatible amb macro”, en cas contrari, la codificació que hem fet a VBA desapareixerà i no s’executarà la propera vegada.