Vba

Zanka

Loop

Enojna zanka | Dvojna zanka | Trojna zanka | Naredi While Loop



Ponavljanje je ena najmočnejših tehnik programiranja. A zanka v Excel VBA omogoča prehod skozi vrsto celic z le nekaj vrsticami kod.

Enojna zanka

Za en krog skozi enodimenzionalni obseg celic lahko uporabite eno zanko.





Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:

NobenajazAs Celo število

Zai = 1Za6
Celice (i, 1). Vrednost = 100
Naslednjijaz

Rezultat, ko kliknete ukazni gumb na listu:



Enojna zanka v Excelu VBA

Pojasnilo: Kodne vrstice med For in Next bodo izvedene šestkrat. Za i = 1 Excel VBA vnese vrednost 100 v celico na presečišču vrstice 1 in stolpca 1. Ko Excel VBA doseže Next i, poveča i z 1 in skoči nazaj na stavek For. Za i = 2 Excel VBA vnese vrednost 100 v celico na presečišču vrstice 2 in stolpca 1 itd.

Opomba: dobra praksa je, da kodo vedno zamaknete (zavihek) med besedama Za in Naprej. Tako je vaša koda lažje berljiva.

Dvojna zanka

Z dvojno zanko lahko prečkate dvodimenzionalni obseg celic.

Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:

kako formatirati številke v
NobenajazAs Celo število, jAs Celo število

Zai = 1Za6
Zaj = 1Za2
Celice (i, j). Vrednost = 100
Naslednjij
Naslednjijaz

Rezultat, ko kliknete ukazni gumb na listu:

Dvojna zanka v Excelu VBA

Pojasnilo: Za i = 1 in j = 1 Excel VBA vnese vrednost 100 v celico na presečišču vrstice 1 in stolpca 1. Ko Excel VBA doseže Next j, poveča j z 1 in skoči nazaj na stavek For j . Za i = 1 in j = 2 Excel VBA vnese vrednost 100 v celico na presečišču vrstice 1 in stolpca 2. Nato Excel VBA prezre Naslednji j, ker j teče le od 1 do 2. Ko Excel VBA doseže Next i , poveča i z 1 in skoči nazaj na stavek For i. Za i = 2 in j = 1 Excel VBA vnese vrednost 100 v celico na presečišču vrstice 2 in stolpca 1 itd.

Trojna zanka

S trojno zanko lahko prečkate dvodimenzionalne obsege na več delovnih listih Excel.

Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:

NobenacAs Celo število, jazAs Celo število, jAs Celo število

Zac = 1Za3
Zai = 1Za6
Zaj = 1Za2
Delovni listi (c). Celice (i, j). Vrednost = 100
Naslednjij
Naslednjijaz
Naslednjic

Pojasnilo: Edina sprememba v primerjavi s kodo za dvojno zanko je, da smo dodali še eno zanko in dodali delovne liste (c). pred celicami, da dobite dvodimenzionalno območje na prvem listu za c = 1, drugi list za c = 2 in tretji list za c = 3. Prenesite datoteko Excel, da si ogledate ta rezultat.

Naredi While Loop

Poleg zanke For Next so v Excelu VBA še druge zanke. Na primer Do Do Loop. Koda, postavljena med Do While in Loop, se bo ponavljala, dokler je del za Do While res.

1. Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:

kako narediti samodejno izpolnjevanje v
NobenajazAsCelo število
i = 1

Naredi Medtemjaz<6
Celice (i, 1). Vrednost = 20
i = i + 1
Zanka

Rezultat, ko kliknete ukazni gumb na listu:

Naredi While Loop

Pojasnilo: dokler je i nižji od 6, Excel VBA vnese vrednost 20 v celico na presečišču vrstice i in stolpca 1 ter poveča i za 1. V Excelu VBA (in v drugih programskih jezikih) je simbol '= 'pomeni postane. Ne pomeni enako. Torej i = i + 1 pomeni, da i postane i + 1. Z drugimi besedami: vzemite sedanjo vrednost i in ji dodajte 1. Če je na primer i = 1, i postane 1 + 1 = 2. Posledično bo vrednost 20 petkrat postavljena v stolpec A (ne šest, ker se Excel VBA ustavi, ko je i enako 6).

2. V stolpec A vnesite nekaj številk.

Poljubno število vrstic

3. Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:

NobenajazAsCelo število
i = 1

Naredi MedtemCelice (i, 1). Vrednost ''
Celice (i, 2) .Vrednost = Celice (i, 1) .Vrednost + 10
i = i + 1
Zanka

Rezultat, ko kliknete ukazni gumb na listu:

Napredno Do While Loop

Pojasnilo: dokler celice (i, 1). Vrednost ni prazna (pomeni, da ni enaka), Excel VBA vnese vrednost v celico na presečišču vrstice i in stolpca 2, kar je 10 višje od vrednosti v celica na presečišču vrstice i in stolpca 1. Excel VBA se ustavi, ko je i enako 7, ker celice (7, 1). Vrednost je prazna. To je odličen način za pregledovanje poljubnega števila vrstic na delovnem listu.

1/11 Dokončano! Preberite več o zankah>
Pojdi na naslednje poglavje: Napake makra



^