Buclă VBA prin matrice / pentru fiecare articol din matrice

Acest tutorial vă va învăța cum să parcurgeți matricele în VBA.

Există două moduri principale de a parcurge matricele folosind VBA:

  • Pentru fiecare buclă - Pentru fiecare buclă va parcurge fiecare element din matrice.
  • Pentru Next Loop - Bucla pentru următoarea buclă va trece prin pozițiile de început și sfârșit specificate ale matricei (Putem folosi funcțiile UBound și LBound pentru a parcurge întreaga matrice).

Pentru fiecare articol din matrice

The Pentru fiecare buclă vă permite să parcurgeți fiecare element al matricei.

12345678910111213141516171819 Sub LoopForArrayStatic ()'declarați o variantă matriceDim strNames (1 până la 4) ca șir'populează matriceastrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'declarați o variantă pentru a deține elementul matriceiDim element ca variantă'buclă prin întreaga matricePentru fiecare element din strNames'arată elementul în fereastra de depanare.Debug.Print elementBuclăSfârșitul Sub

Procedura de mai sus va parcurge toate numele din matrice.

Pentru Next Loop

Bucla pentru următorul ciclu va parcurge fiecare element la o poziție specificată de început și sfârșit a matricei.

Buclați printr-o parte din matrice

Puteți specifica manual pozițiile de început și de sfârșit pentru bucla dvs. Acest lucru poate fi adecvat dacă vă cunoașteți dimensiunea matricei și / sau doriți să parcurgeți doar o parte dintr-o matrice.

12345678910111213141516 Sub LoopForNextStatic ()'declarați o variantă matriceDim strNames (1 până la 4) ca șir'populează matriceastrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'declara un număr întregDim i Integer'bucla de la poziția 2 la poziția 3 a matriceiPentru i = 2 până la 3'arată numele în fereastra imediatăDebug.Print strNames (i)Apoi euSfârșitul Sub

În exemplul de mai sus, am trecut prin pozițiile 2 și 3 ale matricei. Fereastra imediată va returna numele după cum urmează.

Buclați prin întreaga matrice

Apoi, vom folosi funcțiile UBound și LBound pentru a parcurge o întreagă matrice. Acest lucru este extrem de util în cazul în care pozițiile de început și de sfârșit ale matricei se pot schimba (de exemplu, o matrice dinamică):

123456789101112131415161718 Sub LoopForNextDynamic ()'declarați o variantă matriceDim strNames () Ca șir'inițializează matriceaReDim strNames (1 la 4)'populează matriceastrNames (1) = "Bob"strNames (2) = "Peter"strNames (3) = "Keith"strNames (4) = "Sam"'declara un număr întregDim i Integer'bucla de la limita inferioară a matricei la limita superioară a matricei - întreaga matricePentru i = LBound (strNames) To UBound (strNames)'arată numele în fereastra imediatăDebug.Print strNames (i)Apoi euSfârșitul Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave