VBA järgmiseks - Juhend Exceli VBA kasutamiseks järgmise avalduse jaoks

Lang L: none (table-of-contents)

Exceli VBA järgmiseks aasaks

VBA For Next tsükkel on tsükkel, mida kasutatakse kõigi programmeerimiskeelte hulgas, selles tsüklis on lause for jaoks järgmine kriteerium, mille jaoks tsükkel kontuurib silmus, kuni kriteeriumid on saavutatud ja kui kriteeriumid on saavutatud, suunab järgmine lause protseduuri koodi järgmisele sammule.

Silmus “Järgmiseks” on üks nendest silmustest, mida kasutatakse VBA kodeerimisel väga sageli kui teisi silmusid. Silmused aitavad meil korrata määratud lahtritega samalaadset ülesannet, kuni tingimus on TÕENE.

FOR LOOP vaatab läbi lahtrivahemiku ja täidab konkreetset ülesannet, kuni tingimus on TÕENE. Näiteks kui soovite silmuse sirvida esimesed 10 lahtrit ja sisestada seerianumbrid, mida suurendatakse 1-ga, saate kasutada FOR NEXT-silmust.

See silmus vajab silmuse käitamiseks muutujat. Selle muutuja abil saame rakkudele dünaamiliselt viidata.

See sisaldab kolme parameetrit.

For Statement = alguspunkt lõpp-punktini (täitke mõni ülesanne) Järgmine lause

Alguspunktist algab ja täidab mõni ülesanne pärast ülesande lõpetamist selle liikumine järgmisesse tsüklisse ja täidab sama ülesande uuesti erinevas lahtris. Niimoodi jätkab määratud ülesande täitmine kuni lõpp-punktini.

Kuidas kasutada VBA-d järgmise lingi jaoks?

Oletame, et soovite lisada seerianumbrid vahemikus 1 kuni 10 kuni A1 kuni A10. Muidugi võime sisestada kümne rea koodi kirjutamise.

Kood:

Sub For_Next_Loop_Example1 () Range ("A1"). Väärtus = 1 Range ("A2"). Väärtus = 2 Range ("A3"). Väärtus = 3 Range ("A4"). Väärtus = 4 Range ("A5") Väärtus = 5 Vahemik ("A6"). Väärtus = 6 Vahemik ("A7"). Väärtus = 7 Vahemik ("A8"). Väärtus = 8 Vahemik ("A9"). Väärtus = 9 Vahemik ("A10") Väärtus = 10 Lõpp alam

Aga mis siis, kui ma tahan sisestada 100 seerianumbrit? Muidugi ei saa ma kirjutada 100 rida koodi ainult seerianumbrite sisestamiseks. Siin tuleb silmuse “JÄRGMISEKS” ilu . Koodi minimeerimiseks toimige järgmiselt.

1. samm: Esiteks peame määratlema muutuja. Olen deklareerinud muutuja nime „Serial_Number” täisarvu andmetüübina.

Kood:

Sub For_Next_Loop_Example2 () Dim Seerianumber on täisarvu alam

2. samm: Nüüd tellin järgmise tsükli, meie eesmärk on sisestada seerianumbrid vahemikus 1 kuni 10, see tähendab, et meie silmus peab töötama kümme korda. Nii et FOR LOOPi avaldus peaks olema selline.

Seerianumbri korral = 1 kuni 10

Järgmine seerianumber

Kood:

Alamvorm Järgmine_silmus_näide2 () Dim Seerianumber on täisnumber Seerianumber = 1 kuni 10 Järgmine Seerianumber Lõpp-alam

3. samm: oleme rakendanud silmuse. Nüüd, kui silmus on rakendatud, peame täpsustama, mida me peame silmus sees tegema. Meie eesmärk on siin sisestada seerianumbrid vahemikus 1 kuni 10. Nii et kirjutage kood lahtriteks (seerianumber, 1). Väärtus = seerianumber.

Kood:

Sub For_Next_Loop_Example2 () Dim Seerianumber täisarvuna Dim Seerianumber = 1 kuni 10 lahtrit (Seerianumber, 1). Väärtus = Seerianumber Dim Seerianumber Lõpp-alam

4. samm: põhjus, miks olime atribuudis CELLS andnud seerianumbri, kuna me ei saa siin reaviiteks täpsemat numbrit määrata. Iga kord, kui silmus jookseb, tahan sisestada uue seerianumbri uude lahtrisse, mitte samasse lahtrisse.

5. samm: käivitage kood rida real, vajutades klahvi F8.

6. samm: asetage kursor muutujale Serial_Number; see näitab Serial_Number praegust väärtust.

Sel hetkel on seerianumbri väärtus null.

7. samm: vajutage veel kord klahvi F8, kollane värv liigub VBA järgmisele koodireale. Nüüd asetage kursor seerianumbrile.

Nüüd on seerianumbri väärtus võrdne ühega, sest nüüd alustatakse tsüklit ja meie silmus algab 1-st, seega on muutuja Serial_Number väärtus võrdne ühega.

Üks huvitav asi on siin kõikjal, kus on muutuja Serial_Number, mis on samuti võrdne 1-ga.

Nii et lahtrite omaduses oleme koodi maininud järgmiselt:

Lahtrid (seerianumber, 1). Väärtus = seerianumber

See tähendab lahtrid (1, 1). Väärtus = 1. (Lahtrid (1,1) tähendab Rida1 ja Veerg1.

Nii et rea number 1 ja veeru number 1 väärtus peaks olema 1.

8. samm: nüüd vajutage veel kord F8 ja vaadake, mis juhtub real 1 ja veerus1, st lahtris A1.

Seega saime väärtuseks 1, st Serial_Number väärtuseks.

9. samm: nüüd vajutage veel kord klahvi F8. Tavaliselt tuleks käivitada järgmine kood, st alajaama lõpp. Kuid siin läheb see tagasi ülemisele reale.

10. samm: pidage meeles, et tsükkel on juba esimese sõidu lõpetanud. Nüüd naaseb see teist korda. Nüüd asetage kursor muutujale Serial_Number ja vaadake, mis väärtus see on.

Nüüd on muutuja Serial_Number võrdne 2-ga, kuna silmus naasis juba teist korda.

Nüüd, ükskõik kus Serial_Number on, on see võrdne väärtusega 2. Nii et rea kood:

Lahtrid (seerianumber, 1). Väärtus = seerianumber on võrdne:

Lahtrid (2, 1). Väärtus = 2. (Lahtrid (2,1) tähendab 2. rida ja veerg1, st A2 lahtrit).

11. samm: käivitage see kood ja vaadake väärtust lahtris A2.

Nii saime teise seerianumbri väärtuse.

12. samm: nüüd vajutage klahvi F8. Koodi kordamiseks naaseb see uuesti ülaltoodud rea juurde. Seekordne seerianumbri väärtus on 3.

13. samm: nii et ükskõik kus Serial_Number on, on see võrdne 3-ga.

Nii et rea kood: lahtrid (seerianumber, 1). Väärtus = seerianumber on võrdne:

Lahtrid (3, 1). Väärtus = 3. (Lahtrid (3,1) tähendab 3. rida ja veerg1, st A3 lahtrit).

Samm 14: Esiletõstetud rea käivitamiseks ja väärtuse nägemiseks lahtris A3 vajutage klahvi F8.

15. samm: vajutage nüüd klahvi F8. See jätkab seerianumbrite sisestamist. Muutuja Serial_Number momendi väärtus on 10, see lõpetab loopimise ja väljub tsüklist.

Huvitavad Artiklid...