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 |