Arrays în vba

Arrays sunt folosite pentru a stoca mai multe valori în memorie. În loc de a declara o mulțime de variabile similare, este adesea mult mai convenabil să folosiți o matrice.







Dim MyArray (2) Ca Integer

O astfel de matrice poate stoca trei elemente întregi. 2 este marginea superioară a matricei. Numărul elementelor care pot stoca o matrice este de la 0 la limita superioară, inclusiv.

În principiu, nu puteți declara tipul de date pentru o matrice:

În acest caz, tipul de variante va fi utilizat pentru elementele matrice. O astfel de matrice poate stoca elemente de diferite tipuri de date, dar cerințele de memorie vor fi mai mari și vor funcționa ușor mai lent.

Atribuirea unei valori unui element individual dintr-o matrice (în cazul nostru, prima) poate fi foarte simplă:

Și apoi această valoare poate fi extrasă:

MsgBox MyArray (0)

Arrays ar putea fi foarte multidimensionale:

Dim MyArray (4, 9)

Sunt adesea necesare rețelele dinamice - cele ale căror dimensiuni pot fi schimbate în timpul execuției. O matrice dinamică este declarată după cum urmează:

Dim MyArray () '- declare un matrice fără limita superioară, puteți sări peste această linie

ReDim MyArray (4) '- schimbați dimensiunea matricei







Comanda ReDim nu numai că modifică dimensiunea matricei, dar elimină și toate valorile vechi din ea. Pentru a păstra vechile valori, utilizați cuvântul cheie Păstrare:

ReDim păstra MyArray (7)

Cu toate acestea, dacă noua dimensiune a matricei este mai mică decât numărul de elemente plasate în ea, cuvântul Conservare nu ajută - unele date se vor pierde.

Arhivele pot fi create și populate simultan utilizând funcția încorporată Array ():

MyArray = Array (100, 200, 300, 400, 500)

Specificați dimensiunea matricei este opțională - aceasta va fi configurată automat în funcție de numărul elementelor transmise.

Ștergeți matricele utilizând comanda Erase:

O matrice de lungime fixă ​​este pur și simplu șters, matricea dinamică este neinitializată - trebuie să fie inițializată (dimensiunea definită) din nou.

În rețelele dinamice, adesea nu se știe câte elemente sunt într-o matrice. Pentru a determina numărul de elemente, utilizați funcția UBound () (dacă matricea este unidimensională sau sunteți interesat de dimensiunea primei dimensiuni, atunci nu este necesar să măsurați):

UBound (Nume de masă [, dimensiune])

În mod surprinzător, cu programarea VBA, rareori trebuie să vă ocupați de matrice. În schimb, în ​​modelele obiect de aplicații Office, colecțiile sunt de obicei utilizate. Colecțiile sunt obiecte speciale care sunt concepute pentru a stoca seturi de aceleași elemente. De exemplu, în Word oferă o colecție de documente pentru a stoca documentul elemente - adică, toate documentele deschise în Excel - colectare Workbooks (carte deschisă) și foi de lucru (plăci din carte), etc. Colectia este de obicei mai convenabil decât matrice: acestea sunt în mod inerent adimensională și au furnizat un set standard de proprietăți și metode (Add () metoda pentru a adăuga un element nou, Count proprietate de informații despre numărul de elemente, element () metoda pentru a obține o trimitere la un articol) Mai multe detalii despre lucrul cu colecțiile vor fi explicate în capitolul 4 al acestei cărți.







Articole similare

Trimiteți-le prietenilor: