Vba-lecție 13

Pentru a salva mai mult de o coloană de date, avem nevoie de cealaltă dimensiune a șirului. de exemplu:

Stocarea datelor într-o matrice bidimensională:

În plus, există mai multe exemple de lucru cu aceste valori:

matrice dinamică

Să ne imaginăm pentru un moment pe care trebuie să actualizeze datele din acest domeniu, în mod regulat, și, prin urmare, nu putem atribui o valoare fixă, atunci când declararea.

Pentru a găsi ultima non-gol, numărul liniei de celule, sau cu alte cuvinte, ultima linie a bazei noastre de date, vom folosi următoarea formulă:

Excel nu acceptă variabile în declarație.

În schimb, acesta va declara o matrice dinamic (folosind paranteze goale), apoi a determina mărimea folosind Redim:

Utilizând următoarea procedură, puteți salva toate setul dvs. de date linie (tabelul) în oferta noastră:

În exemplul anterior, ultimul număr din gama noastră a fost LAST_ROW - 2:

Un alt mod de a determina ultimul număr din gama noastră, ar putea fi prin utilizarea Ubound.

Această funcție returnează cel mai mare număr din matrice pentru măsurarea selectată (prima măsurare este implicit).

În plus, există câteva exemple care vor clarifica acest lucru mai în detaliu:

Stocarea datelor în domeniul elementelor de matrice

Există posibilitatea de a umple o serie de valori dintr-o serie de celule pe o foaie de lucru, chiar și fără utilizarea unui ciclu:

Codul anterior poate fi înlocuit în mod eficient de acest lucru:

Deși a doua metodă pare mai atractivă decât primul, fii atent că, în cele mai multe cazuri, aceasta poate costa mai mult timp pentru a finaliza decât prima.

Dacă salvați datele din matrice dvs. în acest mod, primul număr va fi de 1, nu este 0, ceea ce poate duce la confuzii.

În continuare, în procesul de creștere a codului, dacă alegeți să salvați numai datele care corespund criteriilor de căutare specifice într-o matrice (sau pentru a efectua o operație complet diferit), trebuie să rescrie complet codul folosind o altă funcție a ciclului.

Dar această a doua metodă este foarte utilă în cazul în care aveți nevoie pentru a stoca întregul conținut al unui set mare de date, deoarece este mai rapid decât ciclul (economisește aproximativ 0.2 secunde pentru fiecare 15 000 de intrări).

O matrice (Array)

O soluție ar fi să prescrie linia de valoare de linie:

Din fericire, puteți simplifica codul folosind o matrice (Array):

Aici este o demonstrație să înlocuiască funcția (acest lucru vă va ajuta să înțeleagă următorul exemplu):

Acum, dacă vrem să înlocuiască un număr de valori cu un alt set de date, utilizarea de matrice și funcțiile de matrice pentru a fi extrem de util:

Separarea (Split)

Funcția Split, ne permite de a converti un șir de caractere într-o matrice.

Pentru a converti un șir de caractere într-o matrice, procedați în felul următor:

Utilizați funcția Split, și specificați delimitatorul:

En o matrice returnează următoarele valori:

Următoarele 3 matrice de a reveni, de asemenea, aceleași valori:

Următorul exemplu returnează valoarea în al treilea rând:

Vba-lecție 13

Split este inversul funcției Alăturați-vă.

Această caracteristică colectează valoarea de matrice într-un șir de caractere.

Vba-lecție 13

Articole pe aceeași temă: