Matrice VBA Excel
În general, o variabilă ar trebui să dețină o singură valoare la un moment dat, dar atunci când dorim să stocăm mai multe valori într-o singură variabilă, atunci un astfel de tip de variabilă este cunoscut sub numele de variabilă de matrice, pentru a utiliza o variabilă de matrice în VBA trebuie să declarăm sau definiți-o mai întâi, putem defini variabila matricei cu lungimea sau fără lungimea sa.
Să presupunem dacă avem date care conțin sute de rânduri și mai multe coloane și trebuie să creăm un cod care să folosească datele. Acum, în acest caz, trebuie să creăm multipli ai variabilei care vor prelua valoarea din celule și le vor da programului. Acest lucru va fi foarte obositor pentru a crea această variabilă și, prin urmare, în astfel de cazuri, folosim matricele în excel.

Tablourile păstrează setul de date în memoria lor și nu au nevoie ca noi să declarăm variabila pentru fiecare dintre valorile care trebuie preluate din date. Necesitatea utilizării matricilor se datorează faptului că într-o variabilă Excel este concepută pentru a deține o valoare la un moment dat. Cu toate acestea, atunci când mai multe valori sunt stocate de o variabilă, aceasta devine o matrice.
- Crearea unei matrice este ca crearea unei unități de memorie separate care să poată păstra datele din ea. Pentru crearea unei matrice, datele trebuie să fie de același tip.
- Tablourile pe care le oferim Excel trebuie să corespundă tipului de date pe care le avem. Să presupunem că dacă avem date care au doar rânduri, deci, în acest caz, vom folosi „matricea unidimensională”, iar dacă datele conțin și coloane, atunci trebuie să folosim „matrici bidimensionale”, deoarece acestea sunt capabile doar să rețină valorile din rânduri și coloane.
- De asemenea, matricele trebuie să funcționeze pentru a funcționa ca matrice dinamice sau matrice statice. Pe măsură ce oferim un interval dinamic formulei, putem face variabilele Arrays. Tablourile dinamice vor avea funcționalitatea de a include un număr infinit de rânduri și coloane. În cazul în care, dacă matricile pe care le-am definit sunt de tip static, atunci ele pot conține doar un număr limitat de rânduri și coloane așa cum au fost definite în momentul creării matricei.
Explicaţie
Array lucrează la „regula matematică a unei matrice”. Adică identifică datele numai prin locația lor. Să presupunem că dacă trebuie să-l facem pe VBA să înțeleagă că avem nevoie de „20” în celula „B3”, atunci trebuie să scriem codul locației ca (3, 2) unde prima valoare reprezintă locația rândului și a doua valoarea reprezintă numărul coloanei. În lumea excel, acest cod de locații se numește „limită superioară” și „limită inferioară”. În mod implicit, locația în Excel începe de la unul și nu de la zero, așa că Excel vede „A1” ca rândul 0 și nu rândul 1.
În mod similar, coloanele încep de la zero și nu de la unul.

Aceste matrice pot fi definite ca o matrice statică sau matrice dinamică. Dacă le definim ca o matrice statică, aceasta înseamnă că nu pot conține mai mult decât variabilele definite în timp ce le codifică. Dacă nu suntem siguri de valoarea care trebuie memorată de matrici, creăm matrici dinamice și, în astfel de cazuri, pot deține un număr infinit de valori.
Acum, după ce am selectat tipul de matrice care este necesar, va trebui acum să introducem datele în aceste tablouri.
Aceste date trebuie date una câte una pentru a excela în modurile de mai jos.

După ce datele sunt stocate în aceste tablouri, acestea sunt gata de utilizare ca variabilă în codificarea VBA.
Lista Top 5 tipuri de matrice
- Matrici statice
- Matrice dinamică
- Matrice unidimensională
- Matrice bidimensională
- Matrice multidimensională
Să le vedem pe fiecare în detaliu.
# 1 - Matrici statice
O matrice care are un număr de valori predefinit care poate fi stocat în ea.

# 2 - Matrice dinamică
Tablou cu un număr de valori nedefinit pe care îl poate gestiona.
# 3 - Matrice unidimensională
O matrice care poate conține numai date fie de pe rânduri, fie din coloane.


# 4 - Matrice bidimensională
O matrice care poate stoca o valoare din rânduri și coloane.


# 5 - Aranjament multidimensional


Cum se utilizează matricele în VBA (cu exemple)?
Tablourile pot fi utilizate în multe situații, dar trebuie utilizate atunci când numărul variabilelor care urmează să fie declarate este mare ca număr și nu este fezabil să le declare.
Mai jos sunt câteva dintre exemple, dar înainte de a merge la exemple, vom învăța să deschidem editorul VBA printr-o tastă de comandă rapidă.

Aceasta va deschide editorul VBA. De acolo, trebuie să introducem codul în „Această foaie de lucru”.

Exemplul nr. 1
Alegeți tipul de matrice dorit. Ar trebui să fie un tablou dinamic sau static?
Dacă avem nevoie de o matrice dinamică, atunci vom defini dimensiunea ca „variantă”.

Dacă avem nevoie de un tablou static, atunci vom defini o dimensiune ca „Static”.

Exemplul nr. 2
Definiți coloanele și rândurile pe care doriți să le stocheze matricea.
Dacă am introdus „1” în paranteză, aceasta înseamnă că matricea poate deține valoarea a două rânduri pe măsură ce numărarea excel începe de la zero.

Dacă avem nevoie și de coloane și rânduri, atunci trebuie să le definim pe amândouă.
Aici „1 la 2” înseamnă că două rânduri și „1 la 3” înseamnă că trei coloane.

Aici am schimbat regula cum Excel contează rândurile și i-am cerut să numere de la „1” și nu de la zero.
Exemplul nr. 3
Introducerea datelor în matrice.
Datele trebuie să fie introduse în celule cu înțelepciune. Aici datele trebuie introduse sub forma (I, j) unde „I” înseamnă rândul, iar „J” înseamnă coloana.
Deci „a (1,1”) înseamnă acea celulă „A1”.

Exemplul # 4
Închidem codul.
După introducerea datelor pentru matrice, ultimul pas va fi închiderea codului.

Lucruri de amintit
- În mod implicit, Excel va conta rândurile începând de la zero. Aceasta înseamnă că „2” în locul „I” va însemna 3 rânduri și nu 2 rânduri. Același lucru este valabil și pentru „J.”
- Datele care trebuie introduse pentru matrice trebuie pornite de la (0, 0), adică din primul rând și prima coloană.
- În cazul în care utilizăm matricele dinamice, atunci aceasta va avea nevoie de funcția „VBA REDIM” pentru a defini numărul de rânduri și coloane care trebuie memorate.
- În cazul creării unui tablou bidimensional, atunci trebuie să folosim „Număr întreg” ca dimensiune.
- Fișierul Excel trebuie salvat în versiunea care este „compatibilă cu macro”, altfel codarea pe care am făcut-o în VBA va dispărea și nu va rula data viitoare.