Excel VBA Arrays

Excel VBA Array nu este altceva decât o variabilă care poate reține același tip de date. Un Array este un grup al unei variabile care poate stoca mai mult de o variabilă. Numele variabilei va fi același, dar poate reține valori diferite într-o singură variabilă. Un tablou VBA este un tip de variabilă care este utilizat pentru a stoca liste de date de același tip.

Dacă avem 5 celule care conțin numere, trebuie să declaram 5 variabile pentru a reține 5 numere diferite în interval. Dar folosind matricea putem reține 5 valori diferite într-o singură variabilă în sine.

Cum se utilizează Array-urile Excel VBA?

Haideți să înțelegem cum să folosiți Array-urile Excel VBA și tipurile acestora cu câteva exemple.

Puteți descărca acest șablon VBA Arrays Excel aici - Șablonul VBA Arrays Excel

Exemplul # 1

Aruncați o privire la exemplul de mai jos. X este o variabilă care deține tipul de date întreg.

Cod:

 Sub Array_Example1 () Dim x Ca număr întreg x = 1 Sub final 

Acum alocați o valoare de 1 la variabila declarată x.

Să introducem valoarea 1 în celula A1.

Cod:

 Sub Array_Example1 () Dim x Ca număr întreg x = 1 Interval ("A1"). Valoare = x 
 Sub final 

Valoarea x este egală cu 1 și în intervalul A1 valoarea va fi introdusă ca valoare a x, adică valoarea lui x este 1. Acum rulați codul folosind tasta F5 sau manual pentru a vedea rezultatele.

În exemplul de mai sus, x deține o singură variabilă care este totul. Dar dacă vreau să inserez 5 numere consecutive folosind variabila unică, trebuie să folosesc variabila matrice de tip care poate reține multe valori variabile într-un singur nume de variabilă.

Exemplul # 2

Acum aruncați o privire la exemplul de mai jos. Un nume variabil este x și tipul de date este LUNG. Dar, în timp ce declară variabila în sine, am deschis paranteza și am menționat 1 la 5. Aceasta înseamnă că variabila x va reține 5 tipuri diferite de valori.

Cod:

 Sub Array_Exemple () Dim x (1 până la 5) Lung, i ca Sub End End Sub 

După aceea, am atribuit valorile fiecărei variabile. X (1) = 20 înseamnă că prima variabilă ar trebui să fie egală cu valoarea de 20. X (2) = 25 înseamnă a doua variabilă ar trebui să fie egală cu valoarea de 25 și așa mai departe.

Cod:

 Sub Array_Exemple () Dim x (1 până la 5) Cât mai lung, i ca număr întreg x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Sub final 

Mai târziu am declarat încă o variabilă numită „I” acesta este al doilea tip de variabilă și deține tipul de date întreg .

În pasul următor, am aplicat bucle FOR pentru a insera numere atribuite în tablou în prima coloană. Am setat valoarea variabilei i la 1 și am instruit bucla să ruleze de 1 până la 5 ori. Când bucla se execută pentru prima dată, valoarea i va fi egală cu 1. CELLS (I, 1). Valoare = x (i) aceasta înseamnă pentru prima dată i este egală cu 1 adică CELLS (1, 1) .valoare = x (1), în prima linie prima coloană (celula A1) valoarea va fi primul tablou ( x (1) ) valoare adică 20.

Când bucla rulează pentru a doua oară valoarea i devine 2 adică CELLS (2, 1) .valoare = x (2), în a doua rândul prima coloană (A2) valoarea va fi a doua matrice ( x (2) ) valoare adică 25.

Cod:

 Sub Array_Exemple () Dim x (1 până la 5) Cât mai lung, i Ca număr întreg x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Pentru i = 1 până la 5 celule (i, 1) .Valor = x (i) Următorul i End Sub 

Ca acest lucru atunci când buclele continuă să ruleze, valorile se vor schimba. Când buclele rulează pentru a treia oară valoarea celulelor A3 va fi 44, a patra oară bucla rulează A4 valoarea celulei va fi 78 atunci când buclele rulează pentru ultima dată sau a cincea oară A5 valoarea celulelor va fi 96.

După rularea codului folosind tasta F5 sau manual, vom obține rezultate așa cum se arată mai jos.

Tipuri de Array-uri în Excel

Array-urile au diferite tipuri în VBA. Există cinci tipuri de tablouri disponibile în excel.

  • Array static
  • Array dinamic
  • Array dimensional
  • Array cu două dimensiuni
  • Array multi-dimensional

Array static

În acest tip de tablou, lungimea tabloului este predeterminată în avans și rămâne constantă.

Cod:

 Sub Static_Example () Dim ArrayType (1 până la 3) Ca ArrayType Integer (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 Cells (1, 1) .Value = ArrayType (1) Cell (1, 2) .Value = ArrayType (2) Celule (1, 3) .Value = ArrayType (3) End Sub 

În codul de mai sus, lungimea ArrayType este determinată cu mult timp înainte ca 1 până la 3, iar tipul de date este întreg.

După rularea codului folosind tasta F5 sau manual, vom obține rezultate așa cum se arată mai jos.

Array dinamic

În acest tip de tablou, lungimea tabloului nu este predeterminată cu mult timp în avans.

Cod:

 Sub Dynamic_Example () Dim ArrayType () Ca variantă ReDim ArrayType (3) ArrayType (1) = "My Name" ArrayType (2) = "is" ArrayType (3) = "Excel" Cells (1, 1) .Value = ArrayType (1) Celule (1, 2) .Value = ArrayType (2) Celule (1, 3) .Value = ArrayType (3) End Sub 

În acest tip de matrice datele sunt Variante și lungimea nu este determinată aici. După declararea variabilei, am atribuit lungimea tabloului prin utilizarea funcției ReDim . Acest tablou va insera valorile ca această celulă A1 = Numele meu, celula B1 = este, celula C1 = Excel.

Array dimensional

În acest tip de tablou, lungimea este determinată, dar într-o dimensiune funcționează.

Cod:

 Sub One_Dimensional () Dim OneDimension (1 la 3) Ca șir OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 End Sub 

Afișează aceste valori în caseta de mesaje VBA.

Cod:

 Sub One_Dimensional () Dim OneDimension (1 până la 3) Ca șir OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) End Sub 

Rulați acest cod folosind tasta F5 sau manual și vom obține următorul rezultat.

Array cu două dimensiuni

În acest tip de tablou, lungimea este determinată în două dimensiuni și funcționează.

Cod:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) As Long Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 Sub final 

Acum, pentru a stoca aceste valori în celulele de sub cod.

Cod:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) As Long Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 Pentru i = 1 până la 2 Pentru j = 1 până la 2 celule (i, j) = Două dimensiuni (i, j) Următorul j Următorul i Încheierea Sub 

Aceasta va stoca datele ca mai jos.

Array multi-dimensional

În acest tip de tablou, lungimea este determinată, dar în mai multe dimensiuni, funcționează.

Cod:

 Sub Multi_Dimensional () Dim TwoDimension (1 To 3, 1 To 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimensionare (3, 1) = 98 MultiDimension (3, 2) = 54 

Dacă vă uitați la codul de mai sus, în primul rând, am declarat tabloul ca 1 până la 3 și apoi 1 până la 2. Acest lucru înseamnă că atunci când scriu matricea, în primul rând, pot folosi doar 1 până la 3 numere, dar în al doilea spațiu, pot folosi 1 la 2 nu 1 la 3.

Folosind Loop putem insera valori în celule. Am folosit două bucle pentru un tablou multi-dimensional.

Cod:

 Sub Multi_Dimensional () Dim TwoDimension (1 To 3, 1 To 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimension (3, 1) = 98 MultiDimension (3, 2) = 54 Pentru i = 1 To 3 Pentru j = 1 până la 2 celule (i, j) = MultiDimension (i, j) Următorul j Următorul i End Sub 

După rularea codului folosind tasta F5 sau manual, vom obține rezultate așa cum se arată mai jos.

Lucruri de amintit

  • Un tablou va număra valorile de la zero, nu de la 1.
  • Array (0, 0) înseamnă prima coloană din primul rând.
  • Acest fișier macro excel trebuie salvat ca un registru de lucru cu macroactivare.
  • În cazul unui tablou dinamic, trebuie să alocăm valoarea tabloului folosind funcția REDIM în VBA.

Articole recomandate

Acesta a fost un ghid pentru VBA Arrays. Aici am discutat tipuri de Arrays în VBA și cum să utilizăm matricile Excel VBA împreună cu câteva exemple practice și șablonul excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. GĂsește funcția în Excel cu exemple
  2. Ce este funcția VBA în Excel?
  3. Ghid pentru obiectul gama VBA
  4. Cum se utilizează funcția VBA VLOOKUP?

Categorie: