Excel VBA Tutorial på Loops
VBA er Microsofts Visual Basic programmeringsspråk. Det er oftest assosiert med makroer brukes i Excel regneark og noen ganger også rapportere generasjon med utgang rettet mot Word eller PowerPoint-dokumenter. VBA tilbyr utviklere alle de vanlige logiske alternativer tilgjengelig i andre språk, for eksempel for sløyfer, mens sløyfer og hvis / deretter / else uttalelser. Men, som alle språk, syntaksen til å bruke disse løkkene er litt annerledes i VBA. Når du bruker disse, er prosessen enkel og vil være enkel å gjennomføre.
Bruksanvisning
1 Lag en If-setning i VBA slik som dette eksempelet som sammenligner to verdier og skriver "LIKE" eller "ikke lik" i celle A1 avhengig av resultatet av sammenligningen.
Sub My_If_Test ()
Dim this_value
Dim that_value
this_value = 0
that_value = 2
Hvis this_value = that_value Deretter
Sheets ( "Ark1"). Cells (1,1) .Value = "LIK"
Ellers
Sheets ( "Ark1"). Cells (1,1) .Value = "ikke lik"
Slutt om
End Sub
Hvis du trenger å teste om noe er ikke like, er tegnet <>.
2 Lag en for løkke i VBA etter dette eksempelet kode som vil sette verdien av et økes teller i hver aktuelle raden.
Sub My_For_Test ()
Dim teller
Dim END_VALUE
END_VALUE = 10
For teller = 0 til END_VALUE Trinn 1
Sheets ( "Ark1"). Cells (teller, 1) .Value = teller
neste
End Sub
3 Lag en Do / Mens sløyfe i VBA etter dette eksempelet kode som, i likhet med for løkke eksempel setter verdien av en øket teller i hvert tilsvarende rad.
Sub My_DoWhile_Test ()
Dim index
Dim END_VALUE
index = 0
END_VALUE = 10
Gjør Mens hovedside <END_VALUE
Sheets ( "Ark1"). Cells (teller, 1) .Value = index
index = index + 1
Loop
End Sub
Logikken i Do / Mens løkke er slik at dersom den opprinnelige sammenligning av Mens tilstanden mislykkes, loopen er ikke utført. For eksempel, hvis indeksen hadde tangert 10 eller mer før koden kjøres denne Do / Mens loop, koden inne i løkken ville aldri kjørt.
4 Lag en Do / Inntil sløyfe i VBA etter dette eksempelet kode som, i likhet med Do / Mens løkke eksempel setter verdien av en øket teller i hver aktuelle raden.
Sub My_DoUntil_Test ()
Dim index
Dim END_VALUE
index = 0
END_VALUE = 10
Gjøre
Sheets ( "Ark1"). Cells (teller, 1) .Value = index
index = index + 1
Loop Inntil index = END_VALUE
End Sub
Logikken i Do / Inntil sløyfe er litt forskjellig enn en Do / Mens loop. Koden i Do / Inntil utføres minst én gang selv om Inntil tilstanden mislykkes. For eksempel, hvis indeksen hadde tangert 10 eller mer før koden kjøres denne Do / Inntil loop, koden inne i løkken ville bli henrettet en gang uansett.