VBA Array Size - Ghid pas cu pas cu exemple

În acest articol, oferim ghid pas cu pas pentru a găsi dimensiunea matricei folosind codul VBA.

Cum se găsește dimensiunea unui tablou folosind codul VBA?

Urmați pașii pentru a găsi dimensiunea matricei utilizând codul Excel VBA.

  • Pasul 1: Să începem mai întâi cu baza, să declarăm o variabilă în VBA ca tip de date variantă.

Cod:

Sub Array_Size () Dim MyArray As Variant End Sub
  • Pasul 2: Pentru această variabilă utilizați funcția ARRAY și atribuiți câteva valori așa cum se arată mai jos.

Cod:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") End Sub
  • Pasul 3: Ok, am atribuit câteva valori numelui matricei „MyArray”.

Presupunem dacă trebuie să scriem o buclă pentru a stoca aceste valori ale matricei în celule, atunci trebuie să decidem de câte ori trebuie să ruleze bucla. Acest lucru depinde de numărul de valori pe care le are matricea.

Ok, uită-te acum la numărul de valori atribuite numelui matricei „MyArray”, există un total de 7 valori atribuite matricei, așa că acum știm de câte ori trebuie să ruleze bucla pentru a stoca valorile unei matrice în celule .

  • Pasul 4: Declarați o altă variabilă ca număr întreg pentru a scrie bucla FOR în VBA.

Cod:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Întreg pentru k = 1 până la 7 Următorul k Sfârșit Sub
  • Pasul 5: Acolo mergem, am deschis bucla FOR începând de la 1 la 7, în interiorul buclei scrieți proprietatea CELLS pentru a stoca așa cum se arată mai jos.

Cod:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Ca întreg pentru k = 1 până la 7 Celule (k, 1) .Value = MyArray (k) Următorul k End Sub
  • Pasul 6: Ok, acum executați codul linie cu linie apăsând o tastă funcțională F8. La prima apăsare a tastei F8, va iniția macro-ul.
  • Pasul 7: Apăsați F8 acum va trece la linia de atribuire a valorii matricei.
  • Pasul 8: De acum numele matricei „MyArray” nu are valori în ea, apăsați F8 și toate valorile menționate vor fi atribuite variabilei matricei.
  • Pasul 9: Acum bucla va începe să ruleze și apăsați tasta F8 de 2 ori și vedeți ce valoare obținem în celula A1.
  • Hopa !!! Așteptați, prima noastră valoare din variabila matrice este „Jan”, dar avem rezultatul ca a doua valoare „Feb” când încă se execută prima buclă de valori.
  • Pasul 10: acest lucru se datorează faptului că atunci când valorile matricei dvs. încep de la zero, nu de la 1, deci trebuie să includem bucla de pornire ca zero.
  • Pasul 11: Odată ce poziția de pornire a buclei este redusă cu un final similar, de asemenea, ar trebui să fie scăzută cu 1, deci faceți finalul ca 6 în loc de 7.
  • Pasul 12: Odată ce bucla de pornire și încheiere a decis încă o modificare, trebuie să facem, adică în proprietatea CELLS am folosit variabila „k” ca selector de celule dinamic, dar, deoarece bucla noastră începe de la zero, nu există o celulă care începe cu zero , deci adăugați plus 1 la variabila „k”.

Cod:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 0 To 6 Celule (k + 1, 1). Valoare = MyArray (k) Următorul k End Sub
  • Pasul 13: Deci, la rularea buclei pentru prima dată, valoarea „k” este zero și, din moment ce am adăugat plus 1, valoarea „k” va fi 1, deci se referă la celula A1.
  • Pasul 14: Rulați acum codul și toate valorile matricei vor fi stocate în celule.

Cu toate acestea, în acest caz, am decis dimensiunea de începere și de terminare a buclei manual, dar dimensiunea matricei poate fi determinată cu ușurință folosind funcțiile LBOUND & UBOUND.

Găsiți automat dimensiunea unui tablou

  • Pasul 1: Când am inclus bucla de început și de sfârșit în cele de mai sus, am numărat manual numărul de valori pe care matricea le are, dar pentru a porni matricea, folosiți funcția LBOUND și pentru aceasta treceți numele variabilei „MyArray”.
  • Pasul 2: Și pentru a determina ultima dimensiune a matricei utilizați funcția UBOUND și introduceți numele matricei „MyArray”.

Cod:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k Întreg pentru k = Lboubd (MyArray ) Pentru celule UBound (MyArray) (k + 1, 1). Valoare = MyArray (k) Următorul k End Sub
  • Pasul 3: Ok începe acum linia cu codul de linie și apăsați tasta F8 până când ajunge la punctul de pornire al buclei.
  • Pasul 4: Acum plasați mai întâi cursorul pe „LBound (MyArray)” și vedeți ce scrie.
  • Pasul 5: numărul punctului de pornire pe care îl spune este zero, așezați acum cursorul pe „UBound (MyArray)” și vedeți ce scrie.

Se spune că dimensiunea matricei este 6, așa cum am menționat cum începem și terminăm manual, UBOUND și LBOUND aleg automat numerele pentru noi.

Articole interesante...