VBA -silmukka läpi matriisin / jokaiselle matriisin kohteelle

Tämä opetusohjelma opettaa sinulle, kuinka selata joukkoja VBA: ssa.

On kaksi ensisijaista tapaa kiertää taulukot VBA: n avulla:

  • Jokaista silmukkaa varten - For For For Loop kiertää jokaisen taulukon kohteen läpi.
  • Seuraava silmukka - For Next Loop kiertää taulukon määritettyjen alku- ja loppukohtien läpi (Voimme käyttää UBound- ja LBound -toimintoja silmukan läpi koko taulukon läpi).

Jokaiselle matriisin kohteelle

The Jokaista silmukkaa varten voit selata taulukon jokaisen elementin läpi.

12345678910111213141516171819 Sub LoopForArrayStatic ()'julistaa muunnosmatriisinDim strNames (1-4) merkkijonona'täytä taulukkostrNames (1) = "Bob"strNames (2) = "Pietari"strNames (3) = "Keith"strNames (4) = "Sam"'julistaa variantin, joka pitää taulukkoelementinHimmennä tuote vaihtoehtona'kierrä koko matriisi läpiJokaiselle strNames -nimikkeelle'Näytä elementti virheenkorjausikkunassa.Virheenkorjaus Tulosta kohdeSilmukkaEnd Sub

Yllä oleva menettely kiertää kaikki taulukon nimet.

Seuraava silmukka

For Next Loop kiertää jokaisen kohteen läpi taulukon määritetyssä alku- ja loppukohdassa.

Kierrä osa matriisista läpi

Voit määrittää silmukan alku- ja loppukohdat manuaalisesti. Tämä voi olla tarkoituksenmukaista, jos tiedät taulukkosi koon ja/tai haluat vain kiertää osan matriisista.

12345678910111213141516 Sub LoopForNextStatic ()'julistaa muunnosmatriisinDim strNames (1-4) merkkijonona'täytä taulukkostrNames (1) = "Bob"strNames (2) = "Pietari"strNames (3) = "Keith"strNames (4) = "Sam"'ilmoittaa kokonaislukuDim i Kuten kokonaisluku'silmukka taulukon paikasta 2 kohtaan 3I = 2 - 3'näytä nimi välittömässä ikkunassaDebug.Print strNames (i)Seuraavaksi minäEnd Sub

Yllä olevassa esimerkissä olemme kiertäneet taulukon paikat 2 ja 3 läpi. Välitön ikkuna palauttaa nimet seuraavasti.

Kierrä koko matriisi läpi

Seuraavaksi käytämme UBound- ja LBound -toimintoja kiertämään koko taulukko. Tämä on erittäin hyödyllistä, jos taulukon alku- ja loppukohdat saattavat muuttua (esim. Dynaaminen taulukko):

123456789101112131415161718 Sub LoopForNextDynamic ()'julistaa muunnosmatriisinDim strNames () merkkijonona'alusta matriisiReDim strNames (1-4)'täytä taulukkostrNames (1) = "Bob"strNames (2) = "Pietari"strNames (3) = "Keith"strNames (4) = "Sam"'ilmoittaa kokonaislukuDim i Kuten kokonaisluku'silmukka taulukon alarajalta taulukon ylärajaan - koko matriisiI = LBound (strNames) - UBound (strNames)'näytä nimi välittömässä ikkunassaDebug.Print strNames (i)Seuraavaksi minäEnd Sub

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave