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 lopussa

 Sub 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 lopussa

Tee ... 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 
Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä