Excel VBA Tutorial på Loops

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.