Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba-teorie-zaklady » do-loop-excel-vba

Do ... Loop (While | Until) - Excel VBA

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Opakuje příkazy, dokud platí nebo neplatí podmínka.

Doplněno: 2.8.2015

Úvodem do cyklů Do ... Loop (While | Until)

Microsoft Excel logo

Potřebujeme-li vykonat určitou posloupnost příkazu na základě hodnoty příslušného výrazu. Například hodnota příspěvku dle věku dítěte. Velikost slevy podle hodnoty objednávky.


Teorie k Do ... Loop

Konstrukce Do .. Loop opakuje příkazy, dokud je podmínka vyhodnocena jako True, nebo dokud podmínka není True. Funguje ve dvou provedeních:

  • While - dokud je podmínka splněna
  • Until - dokud podmínka není splněna

While

Cyklus Do - While se provádí, dokud je splněna zadaná podmínka. Viz následující syntaxe.

Until

Cyklus Do - Until se provádí tak dlouho, dokud podmínka není splněna. Viz následující syntaxe.

Syntaxe 1

Do [{While | Until} podmínka] [příkazy] [Exit Do] [příkazy] Loop

Syntaxe 2

Do [příkazy] [Exit Do] [příkazy] Loop [{While | Until} podmínka]
  • podmínka - Volitelné. Číselný výraz nebo řetězcový výraz, který je vyhodnocen jako True nebo False. Je-li podmínka Null, pak je vyhodnocena jako False.
  • příkazy - Jeden nebo více příkazů, které jsou opakovány, dokud je nebo dokud není podmínka True.

Rozdíl Syntaxe 1 / 2

Ve VBA je možno zapsat podmínku na začátek (syntaxe 1), nebo na konec (syntaxe 2). Rozdíl je v tom, kdy bude podmínka vyhodnocena. V prvním případě se obsah cyklu vůbec nemusí provést. Ve druhém případě se obsah cyklu vždy provede alespoň jednou.

Exit v Do ... Loop

Do smyčky Do ... Loop může být umístěn libovolný počet příkazů Exit Do. Tento příkaz umožňuje předčasné ukončení smyčky. Popis funkce Exit do popíšů v jiném článku.

Při použití ve vnořených příkazech Do .. Loop předá příkaz Exit Do řízení do nadřazeného cyklu.

Microsoft Excel VBA - Do .. Loop While

While

Ukázkové příklady

Příklad 1

Pocitadlo = 1 Do While Pocitadlo < 10 ' Vnitřní smyčka. Cells(Pocitadlo + 4, 2) = Pocitadlo Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. Loop

Příklad 2

Pocitadlo = 1 Do Cells(Pocitadlo + 4, 3) = Pocitadlo Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. Loop While Pocitadlo < 10 ' Vnitřní smyčka.
Microsoft Excel VBA - Do .. Loop  Until

Until

Ukázkové příklady

Příklad 1

Pocitadlo = 1 Do Until Pocitadlo > 10 ' Vnitřní smyčka. Cells(Pocitadlo + 4, 1) = Pocitadlo Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. Loop

Příklad 2

Pocitadlo = 1 Do Cells(Pocitadlo + 4, 3) = Pocitadlo Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. Loop Until Pocitadlo > 10 ' Vnitřní smyčka.

Exit Do

Cykly Do - Loop mohou obsahovat příkazy Exit Do. Exit Do ukončí provádění a přejde na příkaz za Loop.

Příklad 1: While

Do While Pocitadlo < 20 ' Vnitřní smyčka. Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. If Pocitadlo = 10 Then ' Je-li podmínka True. Test = False ' Nastav hodnotu příznaku na False. Exit Do ' Opusť vnitřní smyčku. End If Loop

Příklad 2: Until

Pocitadlo = 1 Do Until Pocitadlo > 10 ' Vnitřní smyčka. Cells(Pocitadlo + 7, 2) = Pocitadlo Pocitadlo = Pocitadlo + 1 ' Zvyš počítadlo. If Pocitadlo = 5 Then ' Je-li podmínka True. Test = False Exit Do End If Loop

Možné problémy v Do...Loop - ochrana

Do cyklů příkazu Do .. Loop je vhodné zabudovat ochranu. Excel pracuje ve dvojkové soustavě a zaokrouhluje s 15-ti místnou přesností. Budeme-li přičítat desetinná čísla může dojít k zacyklení. Například při přičítání čísla 0,00001 (100.000)nedostanete hodnotu 1,0 ale 0,999999999... Kód se neukončí a bude pokračovat dále do nekonečna.

Microsoft Excel VBA - stahuj logo

Ke stažení

Soubory ke stažení zdarma. Soubory využívají makra:


Další související články

Závěrem

Tento článek je součástí on-line výukového kurzu VBA MS Excel.

Mate-li zajímavé použití cyklu Do .. Loop můžete jej uvést v komentářích.

Článek byl aktualizován: 19.09.2020 11:07

Podpora - oceňte web a pozvěte mě na čokoládu

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 .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

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.


Pavel Lasák - autor webu

Pavel Lasák

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.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil





Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

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 |