VBA za sljedeće - Vodič za korištenje Excel VBA za sljedeću izjavu

Excel VBA za sljedeću petlju

VBA for Next petlja je petlja koja se koristi među svim programskim jezicima, u ovoj petlji postoji kriterij nakon izraza for za koji se kôd petlja u petlji dok se kriteriji ne postignu i kada se kriteriji postignu sljedeća izjava usmjerava postupak do sljedećeg koraka koda.

Petlja "Za dalje" jedna je od onih petlji koja se koristi vrlo često od ostalih petlji u VBA kodiranju. Petlje će nam pomoći da ponovimo istu vrstu zadatka za određene stanice dok uvjet ne bude ISTINA.

FOR LOOP petlja kroz raspon ćelija i izvodi određeni zadatak dok uvjet ne bude ISTINA. Na primjer, ako želite petlju proći kroz prvih 10 ćelija i umetnuti serijske brojeve uvećane za 1, možete koristiti FOR NEXT petlju.

Ova petlja treba varijablu za pokretanje petlje. Pomoću ove varijable možemo dinamički referencirati stanice.

Sadrži tri parametra.

Za izjavu = Početna točka do krajnje točke (Izvršite neki zadatak) Sljedeća izjava

Od početne točke petlja će započeti i izvršiti neki zadatak nakon završetka zadatka, preći će na sljedeću petlju i opet izvršiti isti zadatak u drugoj ćeliji. Ovako, dok ne dosegne krajnju točku, nastavlja izvršavati navedeni zadatak.

Kako koristiti VBA za sljedeću petlju?

Pretpostavimo da želite umetnuti serijske brojeve od 1 do 10 do A1 do A10 ćelija. Naravno, možemo umetnuti poput pisanja deset redaka koda.

Kodirati:

Sub For_Next_Loop_Example1 () Raspon ("A1"). Vrijednost = 1 Raspon ("A2"). Vrijednost = 2 Raspon ("A3"). Vrijednost = 3 Raspon ("A4"). Vrijednost = 4 Raspon ("A5") .Vrijednost = 5 raspona ("A6"). Vrijednost = 6 raspona ("A7"). Vrijednost = 7 raspona ("A8"). Vrijednost = 8 raspona ("A9"). Vrijednost = 9 raspona ("A10") .Vrijednost = 10 Kraj Sub

Ali što ako želim umetnuti 100 serijskih brojeva? Naravno, ne mogu napisati 100 redaka koda samo da bih umetnuo serijske brojeve. Tu dolazi do ljepote petlje "FOR NEXT" . Slijedite korake u nastavku da biste umanjili kôd.

Korak 1: Prvo, moramo definirati varijablu. Proglasio sam naziv varijable pod nazivom "Serial_Number" kao cjelobrojni tip podataka.

Kodirati:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Korak 2: Sada nalažem prijavu FOR NEXT loop, naš je cilj umetnuti serijske brojeve od 1 do 10, pa to znači da se naša petlja mora pokrenuti deset puta. Tako bi izjava FOR LOOP trebala biti ovakva.

Za serijski broj = 1 do 10

Sljedeći serijski broj

Kodirati:

Sub For_Next_Loop_Example2 () Zatamni serijski broj kao cijeli broj za serijski broj = 1 do 10 sljedeći serijski broj Kraj Sub

Korak 3: Primijenili smo petlju. Sada kada se petlja primijeni, moramo odrediti što moramo učiniti unutar petlje. Naš je cilj ovdje umetnuti serijske brojeve od 1 do 10. Dakle, zapišite kod kao Ćelije (serijski broj, 1). Vrijednost = serijski broj.

Kodirati:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 To 10 Cells (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Korak 4: Razlog zašto smo dali Serial_Number u svojstvu CELLS jer ovdje ne možemo odrediti hardcore broj za referencu retka. Svaki put kad se petlja pokrene, želim umetnuti novi serijski broj u novu ćeliju, a ne u istu ćeliju.

Korak 5: Pokrenite liniju koda po redak pritiskom na tipku F8.

6. korak: Postavite kursor na varijablu Serial_Number; prikazuje trenutnu vrijednost serijskog broja.

U ovom trenutku, vrijednost Serial_Number je nula.

Korak 7: Pritisnite još jednom tipku F8, žuta boja će se premjestiti u sljedeći redak koda u VBA. Sada postavite kursor na Serial_Number.

Sada je vrijednost Serial_Number jednaka jedinici, jer je sada petlja pokrenuta, a naša petlja počinje od 1, pa je vrijednost varijable Serial_Number jednaka jedinici.

Ovdje je još jedna zanimljivost gdje god se nalazi varijabla Serial_Number, koja je također jednaka 1.

Dakle, u svojstvu cell spomenuli smo kod kao:

Ćelije (serijski broj, 1) .Vrijednost = serijski broj

To znači Stanice (1, 1). Vrijednost = 1. (Stanice (1,1) znači Red 1 i Stupac 1.

Dakle, u retku broj 1 i stupcu broj 1 vrijednost bi trebala biti 1.

Korak 8: Sada pritisnite još jednom F8 i pogledajte što se događa u retku1 i stupcu1, tj. U ćeliji A1.

Tako smo dobili 1 kao vrijednost, tj. Vrijednost Serial_Number.

Korak 9: Sada pritisnite još jednom tipku F8. Tipično se treba pokrenuti sljedeći kôd, tj. Kraj podstata. Ali ovdje će se vratiti na "gornju liniju".

Korak 10: Sjetite se petlje koja je već dovršila prvo pokretanje. Sad se vraća po drugi put. Sada postavite kursor na varijablu Serial_Number i pogledajte kolika je vrijednost.

Sada je varijabla Serial_Number jednaka 2 jer se petlja već vratila drugi put.

Sad, gdje god je Serial_Number, jednaka je vrijednosti 2. Dakle, kôd retka:

Ćelije (serijski broj, 1). Vrijednost = serijski broj jednak je:

Stanice (2, 1). Vrijednost = 2. (Stanice (2,1) znači red 2 i stupac 1, tj. A2 ćelija).

Korak 11: Pokrenite ovaj kod i pogledajte vrijednost u ćeliji A2.

Dakle, dobili smo drugu vrijednost serijskog broja.

Korak 12: Sada pritisnite tipku F8. Ponovno će se vratiti na gornji redak za ponavljanje koda. Ovaj će put vrijednost Serial_Number biti 3.

Korak 13: Dakle, gdje god je serijski broj, jednako je 3.

Dakle, kôd retka: Ćelije (serijski broj, 1). Vrijednost = serijski broj jednak je:

Stanice (3, 1). Vrijednost = 3. (Stanice (3,1) znače Red 3 i Stupac 1, tj. A3 stanica).

Korak 14: Pritisnite F8 da biste izvršili označenu liniju i vidjeli vrijednost u ćeliji A3.

Korak 15: Sada nastavite pritiskati F8. Nastavit će umetati serijske brojeve. Trenutačna vrijednost varijable Serial_Number je 10, zaustavit će petlju i izaći iz petlje.

Zanimljivi članci...