A VBA -ban a hurok akkor használatos, ha ugyanazt a feladatot többször kell elvégeznie, amíg egy feltétel teljesül (vagy amíg egy feltétel teljesül).
Ebben az oktatóanyagban megtanulhatja a For Next Loop használatát az Excel VBA -ban.
Ha érdekli a VBA egyszerű tanulása, nézze meg az enyémet Online Excel VBA képzés.
A FOR NEXT Loop használata az Excel VBA -ban
A „For Next” ciklus úgy működik, hogy a ciklust a megadott számú alkalommal futtatja.
Például, ha megkérem, hogy manuálisan adja hozzá az 1 -től 10 -ig terjedő egész számokat, akkor az első két számot adja hozzá, majd adja hozzá a harmadik számot az eredményhez, majd adja hozzá a negyedik számot az eredményhez, stb.
Nem?
Ugyanezt a logikát használják a VBA For Next ciklusában is.
Megadhatja, hogy hányszor fusson a ciklus, és azt is, hogy a kódnak mit kell tennie minden egyes ciklus futtatásakor.
Itt található a For Next loop formátum, amelyet a VBA -ban kell használnia az első 10 egész szám hozzáadásához.
Ha i = 1-10 [add hozzá az i -edik pozitív egész számot az eredményhez] Következő i
Most nézzünk néhány példát a For Next hurok használatára.
1. példa: Az első 10 pozitív egész szám hozzáadása
Az alábbiakban az a kód található, amely hozzáadja az első 10 pozitív egész számot a For Next ciklus használatával. Ezután megjelenik egy üzenetmező, amely a számok összegét mutatja.
Rész HozzáadásSzámok () Dim Összesen egészként Dim Dimenzió Integerként Összesen = 0 Számlázáshoz = 1-10 Összesen = Összesen + Számlálás Következő szám MsgBox Összes végrész
Ebben a kódban a Total értéke 0 -ra van állítva, mielőtt belép a For Next ciklusba.
Miután belép a ciklusba, minden ciklus után megtartja a teljes értéket. Tehát az első ciklus után, amikor a számláló 1, az „Összes” értékből 1 lesz, a második ciklus után pedig 3 (1+2) stb.
És végül, amikor a ciklus véget ér, és amikor a Total rendelkezik az első 10 pozitív egész szám összegével, az MsgBox egyszerűen megjeleníti az eredményt egy üzenetmezőben.
Kattintson ide a mintafájl letöltéséhez
2. példa: Az első 5 páros egész szám hozzáadása
Az első öt páros egész szám összegezéséhez (azaz 2,4,6,8 és 10) hasonló kódra van szüksége, amelynek feltétele, hogy csak a páros számokat vegye figyelembe, és figyelmen kívül hagyja a páratlan számokat.
Itt van egy kód, ami megcsinálja:
Sub AddEvenNumbers () Dim Összesen egészként Dim Dimenzió Integerként Összesen = 0 Számlázáshoz = 2-10 A 2. lépés Összesen = Összesen + Számlálás Következő szám MsgBox Összes végrész
Ne feledje, hogy a Count értéket 2 -től kezdtük, és a For szintaxis 2. lépését is használtuk.
A 2. lépés azt mondja ki a kódnak, hogy minden alkalommal, amikor a ciklus fut, 2 -gyel növelje a „Count” értéket. Tehát a Count érték 2 -ről indul, majd a ciklus bekövetkeztével 4, 6, 8 és 10 lesz.
MEGJEGYZÉS: Ennek másik módja lehet a ciklus 1 és 10 közötti futtatása, és a cikluson belül ellenőrizni, hogy a szám páros vagy páratlan. A Step használata azonban ebben az esetben hatékonyabb módszer, mivel nem szükséges, hogy a ciklus 10 -szer, hanem csak 5 -ször fusson.
Kattintson ide a mintafájl letöltéséhez.
3. példa: Szerezze be a numerikus részt egy alfanumerikus karakterláncból
A „For Next” ciklus arra is használható, hogy a karakterlánc minden karakterét végighurkolja.
Például, ha rendelkezik alfanumerikus karakterláncok listájával, akkor a Következő ciklus segítségével kivonhatja belőle a számokat (az alábbiak szerint):
Itt van egy kód, amely létrehoz egy egyéni függvényt a VBA -ban, amely bármely más munkalapfüggvényhez hasonlóan használható.
Kibontja a numerikus részt az alfanumerikus karakterláncból.
Funkció GETNUMERIC (Cl mint tartomány) Dim i mint egész egész halvány eredmény I = 1 Len (Cl) Ha IsNumeric (Közép (Cl, i, 1)) Akkor Eredmény = Eredmény és Közép (Cl, i, 1) Vége Ha a következő i GetNumeric = Eredmény vége funkció
Ebben a kódban a ciklus futtatásának száma az alfanumerikus karakterlánc hosszától függ (a LEN függvény segítségével állapítja meg a karakterlánc hosszát).
Ezt a függvényt be kell helyeznie a modulkód ablakba, majd használhatja, mint bármely más munkalap funkciót.
Kattintson ide a mintafájl letöltéséhez.
4. példa: Véletlen számok beszerzése a kiválasztott tartományba
Tegyük fel, hogy gyorsan szeretne véletlen számokat beírni a kiválasztott cellákba, itt a kód, amely ezt megteszi.
Sub RandomNumbers () Dim MyRange mint tartomány Dim i As Integer, j As Integer Set MyRange = Selection For i = 1 To MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Következő j Következő i Vége Al
Ez egy példa a beágyazott For Next hurokra, ahol For ciklust használnak For For cikluson belül.
Tegyük fel, hogy 10 sort és 4 oszlopot választ, az i értéke 1 és 4 között, a j értéke pedig 1 és 10 között változik.
Amikor az első For ciklus fut, az i értéke 1. Ezután a második For ciklusra lép, amely 10 -szer fut (minden sorban).
Miután a második For ciklus 10 -szer végrehajtásra került, visszatér az első For ciklushoz, ahol most az i értéke 2 lesz. A következő For ciklus 10 -szer fut.
A beágyazott For Next ciklus így működik.
Kattintson ide a mintafájl letöltéséhez.
A következő Excel VBA oktatóanyagok is tetszhetnek:
- Munka cellákkal és tartományokkal az Excel VBA -ban.
- Munkalapok használata Excel VBA -ban.
- Munkafüzetek használata VBA használatával.
- Az IF majd más állítások használata a VBA -ban.
- Excel VBA kis- és nagybetűk.
- Felhasználó által definiált függvény létrehozása Excelben.
- Excel VBA események - Egyszerű (és teljes) útmutató
- Makró rögzítése Excelben.
- Makró futtatása Excelben.
- Bővítmény létrehozása Excelben.
- A makró mentése és újrafelhasználása az Excel Personal Macro Workbook segítségével.
- Hasznos Excel makró példák kezdőknek.
- Az InStr függvény használata a VBA -ban.