Matrice VBA Excel: Tipuri și cum se utilizează cu exemplu
⚡ Rezumat inteligent
Tablourile VBA din Excel stochează un grup de valori corelate de același tip de date sub un singur nume, accesat printr-un index. Această pagină explică tablourile statice și dinamice, tablourile unidimensionale, bidimensionale și multidimensionale, sintaxa de declarare și un exemplu practic de încărcare a băuturilor.

Ce este VBA Array?
O matrice este definită ca o locație de memorie capabilă să stocheze mai mult de o valoare. Valorile trebuie să fie toate de același tip de date. Să presupunem că doriți să stocați o listă cu băuturile preferate într-o singură variabilă, puteți utiliza matricea VBA pentru a face asta.
Folosind o matrice, vă puteți referi la valorile asociate cu același nume. Puteți folosi un index sau un indice pentru a le deosebi. Valorile individuale sunt denumite elemente ale matricei Excel VBA. Ele sunt învecinate de la indicele 0 până la cea mai mare valoare a indicelui.
Acest tutorial presupune că utilizați Microsoft Excel versiunea 2013. Cunoștințele încă se aplică altor versiuni ale Microsoft Excel de asemenea.
Care sunt avantajele matricelor?
Înainte de a scrie cod de tip matrice, este util să înțelegeți de ce merită să utilizați matricele. Următoarele sunt câteva dintre beneficiile oferite de funcția matrice VBA
- Grupați datele legate logic împreună – să presupunem că doriți să stocați o listă de studenți. Puteți utiliza o singură variabilă matrice care are locații separate pentru categoriile de elevi, adică grădiniță, primar, secundar, liceu etc.
- Matricele facilitează scrierea codului care poate fi întreținut. Pentru aceleași date legate logic, vă permite să definiți o singură variabilă, în loc să definiți mai mult de o variabilă.
- Performanță mai bună – odată ce o matrice a fost definită, este mai rapid să recuperați, sortați și modificați datele.
Tipuri de matrice în VBA
VBA acceptă două tipuri de matrice și anume;
- Static – Aceste tipuri de matrice au un număr fix predeterminat de elemente care pot fi stocate. Nu se poate modifica dimensiunea tipului de date al unui tablou static. Acestea sunt utile atunci când doriți să lucrați cu entități cunoscute, cum ar fi numărul de zile dintr-o săptămână, sexul etc.De exemplu: Dim ArrayMonth(12) As String
- Dinamic – Aceste tipuri de matrice nu au un număr fix predeterminat de elemente care pot fi stocate. Acestea sunt utile atunci când lucrați cu entități pentru care nu puteți predetermina numărul.De exemplu: Dim ArrayMonth() ca variantă
După ce știi ce tip se potrivește datelor tale, următorul pas este sintaxa de declarare pentru fiecare.
Sintaxă pentru a declara matrice
Matrice statice
Sintaxa pentru declarare STATIC matrice este după cum urmează:
Dim arrayName (n) as datatype
AICI,
| Code | Acțiune |
|---|---|
| Dim arrayName (n) tip de date |
|
Tablouri dinamice
Sintaxa pentru declarare DINAMIC matrice este după cum urmează:
Dim arrayName() as datatype ReDim arrayName(4)
AICI,
| Code | Acțiune |
|---|---|
| Dim tipul de date arrayName (). |
|
| ReDim arrayName(4) |
|
Dimensiuni matrice
O matrice poate fi o dimensiune, două dimensiuni sau multidimensională.
- O singură dimensiune: În această dimensiune, matricea utilizează un singur index. De exemplu, un număr de oameni de fiecare vârstă.
- Două dimensiuni: În această dimensiune, matricea folosește doi indici. De exemplu, un număr de elevi în fiecare clasă. Necesită numărul de clase și numărul de elevi în fiecare clasă
- Multi-dimensiune: În această dimensiune, matricea folosește mai mult de doi indecși. De exemplu, temperaturile în timpul zilei. ( 30, 40, 20).
Cum se utilizează Array în Excel VBA
Odată ce teoria este acoperită, putem folosi un array într-un registru de lucru real. Vom crea o aplicație simplă. Această aplicație populează o foaie Excel cu date dintr-o variabilă array. În acest exemplu VBA Array, vom face următoarele lucruri.
- Creaza un nou Microsoft Registrul de lucru Excel și salvați-l ca registru de lucru cu macrocomandă Excel (*.xlsm)
- Adăugați un buton de comandă la registrul de lucru
- Setați proprietățile numelui și legendei butonului de comandă
- Programarea VBA care populează foaia Excel
Să facem acest exercițiu pas cu pas,
Pasul 1 - Creați un nou registru de lucru
- Operatii Deschise Microsoft Excel
- Salvați noul registru de lucru ca VBA Arrays.xlsm
Pasul 2 - Adăugați un buton de comandă
Notă: Această secțiune presupune că sunteți familiarizat cu procesul de creare a unei interfețe în Excel. Dacă nu sunteți familiarizat, citiți tutorialul Controlul formularelor VBA Excel și controlul ActiveX. Vă va arăta cum să creați interfața
- Adăugați un buton de comandă la foaie
- Setați proprietatea nume la cmdLoadBeverages
- Setați proprietatea subtitrării la Încărcare băuturi
GUI-ul dvs. ar trebui să fie acum după cum urmează
Pasul 3 - Salvați fișierul
- Faceți clic pe butonul Salvare ca
- Alegeți Excel Macro-Enabled Workbook (*.xlsm) așa cum se arată în imaginea de mai jos
Pasul 4 – Scrieți codul
Acum vom scrie codul aplicației noastre
- Faceți clic dreapta pe butonul Încărcare băuturi și selectați codul de vizualizare
- Adăugați următorul cod la evenimentul de clic al cmdLoadBeverages
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
AICI,
| Code | Acțiune |
|---|---|
| Dim Drinks (1 - 4) ca șir |
|
| Băuturi (1) = „Pepsi” |
|
| Sheet1.Cells(1, 1).Value = „Băuturile mele preferate” |
|
| Fișa1.Celele(2, 1).Valoare = Băuturi(1) |
|
Testarea aplicației noastre
Cu codul configurat, pasul final este să rulați butonul și să confirmați că matricea umple foaia. Selectați fila dezvoltator și asigurați-vă că butonul Mod proiectare este „dezactivat”. Indicatorul este că va avea un fundal alb și nu un fundal colorat (verzui). (Vedeți imaginea de mai jos)
Faceți clic pe butonul Încărcare băuturi
Veți obține următoarele rezultate
Descărcați Excel care conține codul de mai sus
Descărcați fișierul Excel de mai sus Code





