Ako používať slučky For-Next v Exceli 2016 VBA

Najjednoduchším typom slučky v programovaní Excel VBA je slučka For-Next. Slučovanie je riadené premennou počítadla, ktorá začína pri jednej hodnote a končí pri inej hodnote. Príkazy medzi príkazom For a príkazom Next sú príkazy, ktoré sa v slučke opakujú.

Príklad For-Next

Nasledujúci príklad používa cyklus For-Next na sčítanie prvých 1 000 kladných čísel. Premenná Total začína nulou. Potom dôjde k zacykleniu. Premenná Cnt je počítadlo slučky. Začína sa ako 1 a každým cyklom sa zvýši o 1. Cyklus končí, keď je Cnt 1 000.

Tento príklad obsahuje iba jeden príkaz vo vnútri cyklu. Tento príkaz pridáva hodnotu Cnt do premennej Total. Keď cyklus skončí, MsgBox zobrazí súčet čísel.

Sub AddNumbers()
  Dim Total As Double
  Dim Cnt As Long
  Celkom = 0
  Pre Cnt = 1 až 1 000
    Celkom = Celkom + Cnt
  Ďalšie Cnt
  MsgBox Celkom
End Sub

Pretože počítadlo slučiek je normálna premenná, môžete napísať kód na zmenu jeho hodnoty v rámci bloku kódu medzi príkazmi For a Next. Toto je však veľmi zlá prax.

Príklady pre ďalšie s krokom

Hodnotu Step môžete použiť na preskočenie niektorých hodnôt počítadla v slučke For-Next. Tu je predchádzajúci príklad, prepísaný tak, aby sčítal iba nepárne čísla medzi 1 a 1 000:

Sub AddOddNumbers()
  Dim Total As Double
  Dim Cnt As Long
  Celkom = 0
  Pre Cnt = 1 až 1 000 Krok 2
    Celkom = Celkom + Cnt
  Ďalšie Cnt
  MsgBox Celkom
End Sub

Tentoraz Cnt začína ako 1 a potom nadobúda hodnoty 3, 5, 7 atď. Hodnota Step určuje, ako sa bude počítadlo zvyšovať. Všimnite si, že hodnota hornej slučky (1000) sa v skutočnosti nepoužíva, pretože najvyššia hodnota Cnt bude 999.

Tu je ďalší príklad, ktorý používa hodnotu Step 3. Tento postup funguje s aktívnym hárkom a aplikuje svetlosivé tieňovanie na každý tretí riadok, od riadku 1 po riadok 100.

Sub ShadeEveryThirdRow()
  Dim i As Long
  Pre i = 1 až 100 Krok 3
    Riadky(i).Interiér.Farba = RGB(200, 200, 200)
  Ďalej i
End Sub

Pozrite si výsledok spustenia tohto makra.

Ako používať slučky For-Next v Exceli 2016 VBA

Použitie slučky na aplikovanie tieňovania pozadia na riadky.

Príklad For-Next s príkazom Exit For

Cyklus For-Next môže tiež obsahovať jeden alebo viacero príkazov Exit For v rámci cyklu. Keď VBA narazí na tento príkaz, cyklus sa okamžite ukončí.

Nasledujúci príklad demonštruje príkaz Exit For. Táto rutina je funkčný postup, ktorý je určený na použitie vo vzorci pracovného hárka. Funkcia akceptuje jeden argument (premennú s názvom Str) a vráti znaky naľavo od prvej číslice. Ak je napríklad argument „KBR98Z“, funkcia vráti „KBR“.

Funkcia TextPart(Str)
  Dim i As Long
  TextPart = „“
  Pre i = 1 To Len(Str)
    If IsNumeric(Mid(Str, i, 1)) Then
      Ukončiť pre
    Inak
      TextPart = TextPart & Mid(Str, i, 1)
    Koniec Ak
  Ďalej i
End Function

Cyklus For-Next začína 1 a končí číslom, ktoré predstavuje počet znakov v reťazci. Kód používa funkciu Mid VBA na extrahovanie jedného znaku v rámci cyklu. Ak sa nájde číselný znak, vykoná sa príkaz Exit For a cyklus sa predčasne ukončí.

Ak znak nie je číselný, pripojí sa k vrátenej hodnote (ktorá je rovnaká ako názov funkcie). Slučka bude skúmať každý znak iba vtedy, ak reťazec odovzdaný ako argument neobsahuje žiadne číselné znaky.

Vnorený príklad For-Next

V cykle môžete mať ľubovoľný počet príkazov a vnoriť cykly For-Next do iných cyklov For-Next.

Nasledujúci príklad používa vnorenú slučku For-Next na vloženie náhodných čísel do 12-riadkov po 5-stĺpcových rozsahoch buniek. Všimnite si, že rutina vykonáva vnútornú slučku (cyklus s počítadlom riadkov) raz pre každú iteráciu vonkajšej slučky (cyklus s počítadlom Col). Inými slovami, rutina vykoná príkaz Cells(Row, Col) = Rnd 60-krát.

Ako používať slučky For-Next v Exceli 2016 VBA

Tieto bunky sa vyplnili pomocou vnorenej slučky For-Next.

Sub FillRange()
  Dim Col As Long
  Dim Row As Long
  Pre stĺpec = 1 až 5
    Pre riadok = 1 až 12
      Bunky (riadok, stĺpec) = Rnd
    Ďalší riadok
  Ďalej plk
End Sub

Nasledujúci príklad používa vnorené cykly For-Next na inicializáciu trojrozmerného poľa s hodnotou 100. Táto rutina vykoná príkaz uprostred všetkých cyklov (príkaz priradenia) 1 000-krát (10 * 10 * 10), zakaždým s inou kombináciou hodnôt pre i, j a k:

Sub NestedLoops()
  Dim MyArray(10, 10, 10)
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Pre i = 1 až 10
    Pre j = 1 až 10
      Pre k = 1 až 10
        MyArray(i, j, k) = 100
    Ďalej k
  Ďalej j
Ďalej i
  Ďalšie vyhlásenia nájdete tu
End Sub

Tu je posledný príklad, ktorý používa vnorené slučky For-Next s hodnotou Step. Tento postup vytvorí šachovnicu zmenou farby pozadia striedajúcich sa buniek.

Ako používať slučky For-Next v Exceli 2016 VBA

Pomocou slučiek vytvorte šachovnicový vzor.

Počítadlo riadkov zacyklí od 1 do 8. Konštrukcia If-Then určuje, ktorá vnorená štruktúra For-Next sa má použiť. Pre nepárne riadky začína počítadlo Col 2. Pre párne riadky počítadlo Col začína 1. Obidve slučky používajú hodnotu Step 2, takže sú ovplyvnené alternatívne bunky. Dva ďalšie príkazy robia bunky štvorcové (rovnako ako skutočná šachovnica).

Sub MakeCheckerboard()
  Dim R ako dlhé, C ako dlhé
  Pre R = 1 až 8
    Ak WorksheetFunction.IsOdd(R) Then
     Pre C = 2 až 8 Krok 2
       Cells(R,C).Vnútorná farba = 255
     Ďalej C
    Inak
     Pre C = 1 až 8 Krok 2
       Cells(R,C).Vnútorná farba = 255
     Ďalej C
    Koniec Ak
  Ďalej R
  Riadky(“1:8”).Výška riadku = 35
  Columns("A:H").ColumnWidth = 6,5
End Sub

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]