Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Opakování je nejen matkou moudrosti, ale pomůže i v programování...
... aneb jak provést požadovaný počet opakování ...
Doplněno a rozšířeno: 1.8.2015
V tomto článku se naučíte používat cyklus For Next, pro přehlednost je článek rozdělen na jednotlivé kapitoly:
Pro opakování (skupiny) příkazů podle zadaného počtu opakování.
Syntaxe
For čítač = začátek To konec [krok]
[příkazy]
Next [čítač]
Popis jednotlivých části:
Poznámky:
První příklad - Přičítám jedničku.
For i = 1 To 10
' ... vlastní kód
Next i
Potřebujeme doplnit do prvního sloupce (A) od řádku 1 do řádku 10 čísla 1 až 10.
Dim i As Integer
For i = 1 To 10
Cells(i, 1).Value = i
Next i
Poznámka: Cells(i, 1).Value provede zápis na i-tý řádek zapíše hodnotu i.
Potřebujeme doplnit do prvního sloupce (A) od řádku 1 do řádku 10 čísla 1 až 10, ale pouze lichá. Využijeme v cyklu skok (Step).
Dim i As Integer
For i = 1 To 10 Step 2
Cells(i, 2).Value = i
Next i
Skok nemusí být jen kladný, ale můžeme i odečítat.
Dim i As Integer
For i = 10 To 1 Step -1
Cells(i, 3).Value = 11 - i
Next i
Napřílad pokud potřebujete vyplnit tabulku.
Syntaxe
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
Postupné vyplnění tabulky čísly 1 až ... 33 v tabulce, v řádcíh 4 až 14 a pro sloupce A, B, C, vyplNˇuje se nejprve ve sloupci a po řádcích.
Dim i As Integer
Dim j As Integer
Dim k As Integer
k = 1
For i = 1 To 3
For j = 4 To 14
Cells(j, i).Value = k
k = k + 1
Next j
Next i
Postupné vyplnění tabulky čísly 1 až ... 33 v tabulce, pro sloupce A, B, C a pro řádky 4 až 14, začíná se řádkem a vyplni se všechny sloupce
Dim i As Integer
Dim j As Integer
Dim k As Integer
k = 1
For j = 4 To 14
For i = 1 To 3
Cells(j, i).Value = k
k = k + 1
Next i
Next j
Potřebujeteli opustit předčasně provádění cyklu lze využít příkaz:
Exit For
Využijeme předchozí příklad kdy zapisujeme čísla 1 až 10, ale při číslu 8 potřebujeme ukončit.
Dim i As Integer
For i = 1 To 10
Cells(i, 4).Value = i
If i = 8 Then
Exit For
End If
Next i
Poznámka: Je jasné že podmínka se může vstahovat k úplně jiné proměnné, které se nezávislé mění. Pro jednoduchost v ukázce jsem zvolil i, klidně by se dal cyklus zkrátit na i = 1 To 8 a nemusel bych ho opouštět pomocí Exit For.
Zajímavý dotaz v komentářích, proto jsem doplnil řešení. V prvním sloucpi mám hodnoty a potřebuji vzít první hodnotu z prvního sloupce a postupně přidávat hodnoty co jsou ve sloupci 2, poté vzít druhou hodnotu z prvního sloupce a opět přidávat hodnoty z druhého sloupce.
j = 1
k = 1
For i = 1 To 3
HodnotaBunka = Cells(i, 1)
For j = 1 To 4
HodnotaBunka2 = Cells(j, 2)
HodnotaCelkem = HodnotaBunka & HodnotaBunka2
Cells(k, 3) = HodnotaCelkem
' MsgBox (HodnotaCelkem)
k = k + 1
Next j
Next i
Soubor
For Next - praktické ukázky v Excel VBA
ke stažení zdarma. Soubor využívá VBA makra.
Děkuji za respektování autorských práv.
Tento článek je součástí on-line výukového kurzu VBA MS Excel.
Máte nějaký zajímavý příklad na praktické použití For Next? Můžete jej uvést v komentářích.
Článek byl aktualizován: 19.09.2020 11:07
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |