Matrius VBA a Excel | Com treballar amb la funció de matrius a VBA?

A les matrius VBA s’utilitzen per definir el grup d’objectes junts, hi ha nou funcions de matriu diferents a VBA i són ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT i UBOUND. a VBA, la funció Array ens dóna el valor de l'argument donat.

Funció de matriu VBA d'Excel

La funció de matriu és una col·lecció de valors en una sola variable. Podem subministrar una matriu a una subrutina en vba, funcions i propietats. Les matrius VBA són una de les tècniques més utilitzades per emmagatzemar més d’un valor a la variable.

Exemples de funció de matriu VBA d'Excel

En lloc de declarar moltes variables i emmagatzemar els valors, podem utilitzar la matriu VBA d'Excel per emmagatzemar el valor en una mateixa variable. Per exemple, mireu l'exemple següent

Podeu descarregar aquesta plantilla VBA Array Excel aquí: plantilla VBA Array Excel

Codi:

 Sub Array_Ex () Dim x Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Valor = x Range ("A2"). Value = y End Sub 

A l'exemple anterior, he declarat dues variables anomenades xy. X té 1 com a valor i Y en 2 com a valor.

Ara mireu l’exemple de la funció de matriu VBA d’Excel amb una sola variable.

Codi:

 Sub Array_Ex () Dim x (1 a 2) Com a rang enter ("A1"). Valor = x (1) rang ("A2"). Valor = x (2) Final Sub 

Ara, si executeu aquest codi VBA, tindríem valors a les cel·les A1 i A2.

Les variables de matriu van retornar el resultat com a zero. Això es deu al fet que acabem de declarar les variables com a dues, però no hem assignat cap valor a aquestes variables. Per tant, hem d’assignar valors a aquestes variables.

Codi:

 Sub Array_Ex () Dim x (1 a 2) Com enter x (1) = 10 x (2) = 20 Rang ("A1"). Valor = x (1) Rang ("A2"). Valor = x (2 ) Final Sub 

Ara executeu el codi per obtenir resultats.

Abans d’introduir els valors de les variables de matriu a les cel·les, hem d’assignar el valor a les variables de matriu declarades, com ara que assignàvem les variables x (1) = 10 i x (2) = 20.

Exemple # 1 - Inseriu números de sèrie mitjançant Static Array

Vegem l'exemple d'utilitzar una matriu estàtica per inserir números de sèrie. Això s’assembla molt a l’anterior.

Codi:

 SubStaticArray_Ex () Dim x (1 a 5) Com enter x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Rang ("A1"). Valor = x (1) Interval ("A2"). Valor = x (2) Interval ("A3"). Valor = x (3) Interval ("A4"). Valor = x (4) Interval ("A5" ) .Valor = x (5) Final sub 

Ara executeu aquest codi per inserir números de sèrie.

Exemple 2: inseriu números de sèrie mitjançant Dynamic Array

Ara veurem el segon tipus de matriu, és a dir, matriu dinàmica

Codi:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Valor = x (1) Interval ("A2"). Valor = x (2) Interval ("A3"). Valor = x (3) Interval ("A4"). Valor = x (4) Interval (" A5 "). Valor = x (5) Final sub 

Ara executeu aquest codi per obtenir el resultat dels números de sèrie. Obtenim el mateix resultat que l’anterior.

Si observeu que no hem proporcionat la longitud de la matriu mentre declarem la variable, hem assignat l’últim valor de la matriu VBA mitjançant la funció VBA Redim. Redim conté l'últim valor de la matriu que s'ha de passar.

Exemple 3: creeu una funció Inseriu noms de mes amb matriu

Hem vist com treballar amb matrius a VBA. Ara veurem com treballar amb una matriu per crear funcions VBA a Excel. La funció no és altra cosa que una funció definida per l'usuari a VBA. A part d'utilitzar funcions integrades, Excel VBA també ens permet crear les nostres pròpies funcions.

Codi:

 Funció List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Funció final 

El codi següent crearà una funció que pot inserir mesos al nostre full Excel.

Copieu i enganxeu el codi següent al mòdul.

Ara deseu aquest codi i tanqueu l’Editor VBA. Després de tancar l'editor VBA, aneu al full de treball i escriviu la fórmula que acabem de crear i hauríeu de veure la fórmula anomenada Llista_dels_mesos al full de càlcul.

Obriu la fórmula i premeu Intro. Rebrem el nom del primer mes, és a dir, el gener

Si inseriu la fórmula una vegada més, obtindríem només el gener el mes de febrer següent. Per tant, primer seleccioneu 12 columnes en una fila.

Ara obriu la fórmula a la cel·la D1.

Com que hem creat la fórmula amb la matriu, hem de tancar les fórmules només com a fórmula de matriu. Així que espera Ctrl + Maj + Retorn. Tindríem tots els noms de 12 mesos.

Coses que cal recordar

  • Hi ha dos tipus de matrius més disponibles, és a dir, matriu bidimensional i matriu multidimensional.
  • Les matrius comencen des de 0 no des de 1. Zero significa la primera fila i la primera columna.
  • La matriu és un tema important que cal entendre per avançar al següent nivell.
  • La variable de matriu serà aquella que conté moltes dades cada vegada que avança al següent nivell.
  • Redim s'utilitza per emmagatzemar l'última longitud de la matriu en tipus de matriu dinàmica.