Matrice VBA Excel: Ce este, Cum se utilizează & Tipuri de matrice în VBA

Cuprins:

Anonim

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

  1. 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.
  2. 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.
  3. 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
  1. Declară o variabilă de matrice numită arrayName cu o dimensiune de n și tip de date. Dimensiunea se referă la numărul de elemente pe care matricea le poate stoca.

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
  1. Declară o variabilă de matrice numită arrayName fără a specifica numărul de elemente
ReDim arrayName (4)
  1. Specifică dimensiunea matricei după ce matricea a fost definită.

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

  1. Deschideți Microsoft Excel
  2. 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

  1. Adăugați un buton de comandă pe foaie
  1. Setați proprietatea nume la cmdLoadBeverages
  2. 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

  1. Faceți clic pe butonul Salvare ca
  2. 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ă

  1. Faceți clic dreapta pe butonul Încărcați băuturi și selectați vizualizarea codului
  2. 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

  • Declară o variabilă matrice numită Băuturi. Primul index de matrice este 1, iar ultimul index de matrice este 4.

Băuturi (1) = "Pepsi"

  • Atribuie valoarea Pepsi primului element matrice. Celălalt cod similar face același lucru pentru celelalte elemente din matrice.

Sheet1.Cells (1, 1) .Value = "Băuturile mele preferate."

  • Scrie valoarea Băuturile mele preferate în adresa celulei A1. Foaia 1 face trimitere la foaie, iar celulele (1,1) face referire la rândul 1 și coloana 1 (B)

Foaie 1. Celule (2, 1). Valoare = Băuturi (1)

  • Scrie valoarea elementului matricei cu indexul 1 în rândul numărul doi din coloana 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

  1. O matrice este o variabilă capabilă să stocheze mai multe valori
  2. Excel VBA acceptă tablouri statice și dinamice
  3. Tablourile facilitează scrierea codului care poate fi întreținut în comparație cu declararea multor variabile pentru date care sunt legate în mod logic.