Excel VBA: Loops-menettely selitetään.
Excel VBA-silmukat
Silmukat ovat yksi VBA: n peruskeinoista ja tehokkaimmista ohjelmointityökaluista, joita käytetään useimmissa ohjelmointikielissä. Silmukoita käytetään toistamaan koodilohkoa niin monta kertaa kuin tarvitaan, kunnes tietty ehto pysyy totta tai tietty piste (tai arvo) saavutetaan, minkä jälkeen suoritetaan seuraava koodiosa. Silmukan avulla voit kirjoittaa muutamia yksinkertaisia koodirivejä ja saavuttaa paljon merkittävämmän tuotoksen vain toistamalla.- Loopille
- Saat ... Seuraavat lausunnot
- Jokaisesta ... Seuraava ilmoitus
- Tee silmukka
- Tee vaikka ... Loop Statements
- Älä ... Loop kun lausunnot
- Tee silmukkaan asti
- Tee ... Loop Statements
- Tee ... Loop kunnes ilmoitukset
VBA-silmukoita on kolme (jaettu 6 silmukkaan alla):
Loopille
Saat ... Seuraavat lausunnot
toistaa koodilohkon tietyn määrän kertoja.seuraava esimerkki näyttää MsgBox-tiedoston 5 kertaa ja näyttää numeron.
Sub F_Next_loop () Dim i: n kokonaisluku i = 1 - 5 MsgBox i Seuraava i Lopeta alivaihe
Jokaisesta ... Seuraava ilmoitus
Kunkin ... Seuraava silmukka toistaa koodilohkon jokaiselle ryhmälle kuuluvalle objektille. Se toistaa koodilohkon suorittamisen kokoelman jokaiselle elementille. Silmukka pysähtyy, kun kaikki kokoelman elementit on peitetty ja toteutus siirtyy koodin osaan välittömästi seuraavan lausunnon jälkeen.Sub F_each_loop () Dim Cell solualueeksi kullekin ActiveSheet-solun solulle.Range ("A1: A10") Cell.Interior.Color = RGB (160, 251, 142) Seuraava solun loppu
Poistu lausuntoon lopettaa välittömästi olemassa olevan silmukan suorittamisen ja suorittaa koodin osan välittömästi seuraavan lausunnon jälkeen,
Tee silmukka
toistaa koodin lohkon loputtomasti, kun määritetty ehto täyttyy edelleen ja arvioidaan True-arvoksi, ja pysähtyy, kun ehto muuttuu vääräksi. Tila voidaan testata joko Loopin alussa tai lopussa.Tee vaikka ... Loop Statements
testaa ehto alussa,Sub do_While () Dim i As Integer i = 1 Tee soluissa (i, 1) .Value "" MsgBox ii = i + 1 Loop MsgBox i Lopeta alivaihe
Älä ... Loop kun lausunnot
testaa kunto Loopin lopussaSub do_While () Dim i As Integer i = 1 Tee MsgBox ii = i + 1 silmukka soluissa (i, 1) .Value "" MsgBox i Lopeta ala
Exit Do -lausunto lopettaa välittömästi olemassa olevan silmukan suorittamisen ja suorittaa koodiosan välittömästi seuraavan lausunnon jälkeen,
Tee silmukkaan asti
toistaa koodin lohkon loputtomiin, kunnes ehto täyttyy ja arvioi True. Tila voidaan testata joko Loopin alussa tai lopussaTee ... Loop Statements
testaa ehto alussa,Sub do_Until () Dim i: n kokonaisarvona i = 1 asti ei ole tyhjä (solut (i, 1)) solut (i, 1) .sisustus.väri = RGB (255, 0, 0) i = i + 1 silmukan loppu
Tee ... Loop kunnes ilmoitukset
testaa kunto Loopin lopussa.Sub do_Until () Dim i: n kokonaisarvona i = 1 Do Cells (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 silmukka, kunnes ei ole tyhjä (solut (i, 1)) End Sub