Excel VBA Arrays
Generellt ska en variabel innehålla ett enda värde åt gången, men när vi vill lagra flera värden i en enda variabel så kallas en sådan variabel som arrayvariabel, för att använda en arrayvariabel i VBA måste vi deklarera eller definiera det först kan vi definiera arrayvariabeln med dess längd eller utan dess längd.
Antag att om vi har data som innehåller hundratals rader och flera kolumner, och vi måste skapa en kod som kommer att använda informationen. Nu, i det här fallet, måste vi skapa multiplar av variabeln som hämtar värdet från cellerna och ger dem till programmet. Detta kommer att vara mycket tröttsamt att skapa så mycket av en variabel, och därför använder vi i sådana fall Arrays i excel.

Arrays håller datamängden i sitt minne och behöver inte att vi deklarerar variabeln för vart och ett av de värden som måste hämtas från datan. Behovet av att använda matriser beror på att i en excel-variabel är utformad för att innehålla ett värde åt gången. Men när flera värden lagras av en variabel blir den en matris.
- Att skapa en matris är som att skapa en separat minnesenhet som kan innehålla data i den. För att skapa en matris måste data vara av samma typ.
- Arrangemang som vi ger för att utmärka måste motsvara den typ av data vi har. Anta att om vi har data som bara har rader, så i det här fallet kommer vi att använda den "endimensionella matrisen", och om data innehåller kolumner också måste vi använda "Tvådimensionella matriser" eftersom de bara kan hålla värdena från raderna och kolumnerna.
- Arrayer måste också fungera för att fungera som dynamiska arrays eller statiska arrays. När vi ger ett dynamiskt omfång till formeln kan vi också göra Arrays variabla. Dynamiska matriser har funktionen att inkludera ett oändligt antal rader och kolumner. Om de matriser som vi har definierat är av statisk typ, kan de bara innehålla ett begränsat antal rader och kolumner som definierades vid tidpunkten för att skapa matrisen.
Förklaring
Array arbetar på "Matrismens matematiska regel". Det vill säga, de identifierar data endast efter platsen. Antag att om vi måste få VBA att förstå att vi behöver "20" i cell "B3", måste vi skriva koden för platsen som (3, 2) där det första värdet står för raden och den andra värde står för kolumnnumret. I excel-världen kallas dessa koder för platser "Övre gräns" och "nedre gräns." Som standard börjar platsen i excel från en och inte från noll, så excel ser “A1” som rad nummer 0 och inte rad nummer 1.
På samma sätt börjar kolumnerna från noll och inte från en.

Dessa matriser kan definieras som en statisk matris eller dynamisk matris. Om vi definierar dem som en statisk matris betyder det att de inte kan innehålla mer än de variabler som definierats när vi kodar dem. Om vi inte är säkra på vilket värde som krävs för att memoreras av matriserna skapar vi dynamiska matriser och i sådana fall kan de innehålla oändligt antal värden.
Nu, efter att vi har valt vilken typ av matris som krävs, måste vi nu ange data i dessa matriser.
Dessa uppgifter måste ges en efter en för att utmärka sig på nedanstående sätt.

Efter att data har lagrats i dessa matriser är de redo att användas som en variabel i VBA-kodningen.
Lista över topp 5 typer av matriser
- Statiska matriser
- Dynamisk matris
- En dimensionell matris
- Tvådimensionell matris
- Flerdimensionell matris
Låt oss se var och en av dem i detalj.
# 1 - Statiska matriser
En matris som har ett fördefinierat antal värden som kan lagras i den.

# 2 - Dynamisk matris
Array med en inte fördefinierad räkning av värde som den kan hantera.
# 3 - Endimensionell matris
En matris som endast kan innehålla data antingen från rader eller kolumner.


# 4 - Tvådimensionell matris
En matris som kan lagra ett värde från rader och kolumner.


# 5 - Flerdimensionell matris


Hur använder jag Arrays i VBA (med exempel)?
Arrayer kan användas i många situationer, men de måste användas när antalet variabler som ska deklareras är stort i antal, och det inte är möjligt att deklarera dem.
Nedan följer några av exemplen, men innan vi går till exemplen lär vi oss att öppna VBA-redigeraren med genvägstangenten.

Detta öppnar VBA-redigeraren. Därifrån måste vi ange koden i "Detta kalkylblad."

Exempel 1
Välj vilken typ av array du vill ha. Ska det vara en dynamisk eller statisk matris?
Om vi behöver en dynamisk matris definierar vi dimensionen som "variant".

Om vi behöver en statisk matris definierar vi en dimension som "Statisk".

Exempel 2
Definiera de kolumner och rader som du vill att matrisen ska lagra.
Om vi har angett "1" inom parentes betyder det att matrisen kan hålla två rader eftersom excelräkningen börjar från noll.

Om vi också behöver kolumner och rader måste vi definiera dem båda.
Här betyder "1 till 2" att två rader och "1 till 3" betyder att tre kolumner.

Här har vi ändrat regeln för hur excel räknar rader och bad den räkna från "1" och inte från noll.
Exempel # 3
Inmatningen av data i matrisen.
Uppgifterna måste skickas in i celler. Här ska uppgifterna matas in i form av (I, j) där "I" betyder raden och "J" betyder kolumnen.
Så "a (1,1") betyder den cellen "A1."

Exempel 4
Vi stänger koden.
När data har matats in i matrisen är det sista steget att stänga koden.

Saker att komma ihåg
- Som standard räknar Excel raderna från noll. Detta betyder att "2" istället för "I" betyder 3 rader och inte 2 rader. Detsamma gäller för "J."
- Data som måste anges för matrisen måste startas från (0, 0) som är från första raden och första kolumnen.
- Om vi använder de dynamiska matriserna, behöver detta funktionen "VBA REDIM" för att definiera antalet rader och kolumner som måste memoreras.
- När det gäller att skapa en tvådimensionell matris måste vi använda "Heltal" som dimension.
- Excel-filen måste sparas i den version som är "Makrokompatibel", annars kommer kodningen som vi har gjort i VBA att försvinna och körs inte nästa gång.