Ce este VBA Array?
O matrice este definită ca o locație de memorie capabilă să stocheze mai multe valori. Valorile trebuie să fie toate de același tip de date. Să presupunem că doriți să stocați o listă a băuturilor dvs. preferate într-o singură variabilă, puteți utiliza matricea VBA pentru a face acest lucru.
Utilizând o matrice, puteți face referire la valorile aferente cu același nume. Puteți utiliza un index sau un indice pentru a le deosebi. Valorile individuale sunt denumite elemente ale matricei Excel VBA. Acestea sunt contigue de la indexul 0 până la cea mai mare valoare a indexului.
Acest tutorial presupune că utilizați Microsoft Excel versiunea 2013. Cunoștințele se aplică în continuare și altor versiuni ale Microsoft Excel.
În acest tutorial de programare VBA, veți învăța-
- Care sunt avantajele matricilor?
- Tipuri de matrice în VBA
- Cum se folosește Array în Excel VBA
- Testarea aplicației noastre
Care sunt avantajele matricilor?
Următoarele sunt câteva dintre beneficiile oferite de funcția matrice VBA
- Grupați datele legate în mod 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ță de grădiniță, primar, secundar, liceu etc.
- Tablourile facilitează scrierea codului care poate fi întreținut. Pentru aceleași date legate în mod logic, vă permite să definiți o singură variabilă, în loc să definiți mai multe variabile.
- Performanță mai bună - odată ce o matrice a fost definită, este mai rapid să extrageți, să sortați și să modificați datele.
Tipuri de matrice în VBA
VBA acceptă două tipuri de tablouri și anume;
- Static - Aceste tipuri de tablouri au un număr fix predeterminat de elemente care pot fi stocate. Nu se poate modifica dimensiunea tipului de date al unui array 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 tablouri nu au un număr fix predeterminat de elemente care pot fi stocate. Acestea sunt utile atunci când lucrați cu entități pe care nu le puteți predetermina numărul.
De exemplu : Dim ArrayMonth () Ca variantă
Sintaxa pentru a declara matrici
Tablouri statice
Sintaxa pentru declararea matricilor STATIC este după cum urmează:
Dim arrayName (n) as datatype
AICI,
Cod | Acțiune |
Dim arrayName (n) tip de date |
|
Tablouri dinamice
Sintaxa pentru declararea matricilor DINAMICE este după cum urmează:
Dim arrayName() as datatypeReDim arrayName(4)
AICI,
Cod | Acțiune |
Dim arrayName () tip de date |
|
ReDim arrayName (4) |
|
Dimensiuni matrice
O matrice poate fi o dimensiune, două dimensiuni sau multidimensională.
- O dimensiune : în această dimensiune, matricea folosește un singur index. De exemplu, un număr de persoane de fiecare vârstă.
- Două dimensiuni : în această dimensiune, matricea folosește doi indici. De exemplu, un număr de elevi din fiecare clasă. Necesită numărul de clase și numărul de elevi din fiecare clasă
- Multi-dimensiune : în această dimensiune, matricea folosește mai mult de doi indici. De exemplu, temperaturile în timpul zilei. (30, 40, 20).
Cum se folosește Array în Excel VBA
Vom crea o aplicație simplă. Această aplicație completează o foaie Excel cu date dintr-o variabilă matrice. În acest exemplu de matrice VBA, vom face următoarele lucruri.
- Creați un nou registru de lucru Microsoft Excel și salvați-l ca registr de lucru Excel Macro-Enabled (* .xlsm)
- Adăugați un buton de comandă în registrul de lucru
- Setați numele și proprietățile subtitrării 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
- Deschideți 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 familiarizați cu procesul de creare a unei interfețe în Excel. Dacă nu sunteți familiarizați, citiți tutorialul VBA Excel Form Control & ActiveX Control. Vă va arăta cum să creați interfața
- Adăugați un buton de comandă pe foaie
- Setați proprietatea nume la cmdLoadBeverages
- Setați proprietatea subtitrării la Încărcați 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 registru de lucru Excel Macro-Enabled (* .xlsm) așa cum se arată în imaginea de mai jos
Pasul 4 - Scrieți codul
Acum vom scrie codul pentru aplicația noastră
- Faceți clic dreapta pe butonul Încărcați băuturi și selectați vizualizarea codului
- Adăugați următorul cod la evenimentul de clic al cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(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,
Cod |
Acțiune |
Reduceți băuturile (1 până la 4) ca șir |
|
Băuturi (1) = "Pepsi" |
|
Sheet1.Cells (1, 1) .Value = "Băuturile mele preferate." |
|
Foaie 1. Celule (2, 1). Valoare = Băuturi (1) |
|
Testarea aplicației noastre
Selectați fila dezvoltator și asigurați-vă că butonul Mod de proiectare este „dezactivat”. Indicatorul este că va avea un fundal alb și nu un fundal colorat (verzui). (Vezi imaginea de mai jos)
Faceți clic pe butonul Încărcați băuturi
Veți obține următoarele rezultate
Descărcați Excel care conține codul de mai sus
Descărcați codul Excel de mai sus
rezumat
- O matrice este o variabilă capabilă să stocheze mai multe valori
- Excel VBA acceptă tablouri statice și dinamice
- Tablourile facilitează scrierea codului care poate fi întreținut în comparație cu declararea multor variabile pentru date care sunt legate în mod logic.