Excel VBA pro každou smyčku

„Každé“ klíčové slovo se používá ve VBA spolu s funkcí „Pro“. Znamená to, že pro každou entitu v poli nebo rozsahu opakujte proces smyčky. V zásadě nebudeme zadávat rozsah kroků, tj. Od 1 do 5 nebo 1 až 10, místo toho jen dáme to, jak je ukázáno v níže uvedené syntaxi.

Syntax:

Pro každý objekt název v rozsahu

Poznámka: Musíte mít kartu Vývojář v pracovním listu aplikace Excel.

Pokud nevidíte kartu „Vývojář“ v Excelu, postupujte podle následujících kroků.

Krok 1: Klikněte na možnost Soubor .

Krok 2: Zobrazí se rozevírací nabídka, klikněte na kartu Možnosti .

Krok 3: Jakmile kliknete na „Možnosti“, zobrazí se dialogové okno, jak je znázorněno níže, a klikněte na možnost Přizpůsobit pás karet .

Krok 4: Když přetáhneme dolů možnosti přizpůsobení pásu karet, najdeme možnost pro vývojáře, musíme zaškrtnout políčko, které nám umožní používat VBA ve vynikající kvalitě.

Jak použít pro každou smyčku ve VBA?

Níže jsou uvedeny různé příklady použití každé smyčky v Excelu pomocí kódu VBA.

Tuto šablonu VBA pro každou smyčku Excel si můžete stáhnout zde - VBA pro každou šablonu pro smyčku Excel

Excel VBA pro každou smyčku - Příklad č. 1

Uděláme jednoduchý příklad pro každou smyčku ve VBA. Předpokládejme, že níže je sada dat ve VBA.

Podle následujících kroků použijte pro každou smyčku v aplikaci Excel VBA.

Krok 1: Klikněte na kartu „Vývojář“ a poté klikněte na možnost „Visual Basic“ na levé straně (první možnost), jak je uvedeno níže.

Jakmile na něj kliknete, objeví se nové okno, jak je znázorněno níže.

Všimněte si, že obsahuje dvě karty na levé straně, „List1 (List1)“ a „ThisWorkbook“. Jediný rozdíl je „List1“, pokud chcete provést kód pouze pro tento konkrétní list a v „ThisWorkbook“ můžeme napsat kód a provést, který lze použít pro celý excel sešitu.

Krok 2: Poklepejte na „List1 (List1)“ a uvidíte prázdnou obrazovku, kam musíme napsat kód. Název vytvořené podmnožiny pojmenujte. Zde jsme pojmenovali „Sub For_Each_Ex1 ()“, jak je uvedeno na níže uvedeném snímku obrazovky.

Kód:

 Sub For_Each_Ex1 () End Sub 

Tímto způsobem vytváříme podmnožinu a automaticky se objeví „End Sub“. Toto je ve výchozím nastavení funkce Excel. Pokud se „End Sub“ neobjeví, kód se nespustí a vyvolá chybu.

Krok 3: Proměnné deklarujeme jako rozpětí.

Kód:

 Sub For_Each_Ex1 () Dim Earn, Range1 jako Range End Sub 

Zde jsme deklarovali dvě proměnné „Vydělávejte“, které použijeme pro každou z nich a „Rozsah1“ jako rozsah datové sady.

Krok 4: Nyní opravíme rozsah, tj. Rozsah dat, na kterém musíme pracovat pomocí klíčového slova „Set“, jak je ukázáno níže.

Kód:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") End Sub 

Zde jsme opravili „Range1“ od buněk rozsahu A1 až A10, což je naše datová sada.

Krok 5: Nyní provedeme smyčku pomocí každého klíčového slova.

Kód:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") za každé výdělky v Range1 End Sub 

Zde bude pro každou hodnotu v rozsahu Získat hodnotu přiřazenou jako Pro smyčka bude provedena krok za krokem.

Krok 6: Nyní použijeme klíčové slovo „Msgbox“ k zobrazení každé položky řádku v přiřazeném rozsahu.

Kód:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") za každé výdělky v Range1 MsgBox Earn.Value End Sub Sub 

Zde „Earn.value“ zobrazí hodnotu v buňce, tj. Počínaje první buňkou v rozsahu.

Krok 7: Nyní chceme provést další hodnotu v daném rozsahu buněk, a proto musíme v kódu použít klíčové slovo „Další“. To pomůže postupovat dále v rozsahu a zobrazovat každou entitu v rozsahu buněk jeden po druhém.

Kód:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") za každé výdělky v Range1 MsgBox Earn.Value Next Earn End Sub Sub 

Krok 8: Spusťte kód stisknutím klávesy F5 nebo Run a podívejte se na výstup.

Ve chvíli, kdy je proveden kódový řádek „Next Earn“, bude „Earn.value“ přiřazena další hodnota buňky v rozsahu. Jeden po druhém kliknete na „OK“ a bude průběžně zobrazovat každou hodnotu v rozsahu, dokud není rozsah hodnot dokončen.

Excel VBA pro každou smyčku - Příklad č. 2

Uděláme další příklad, ve kterém zobrazíme název každého listu v excelovém souboru. Předpokládejme, že máme listy pojmenované níže v excelovém souboru:

Jak jsme si všimli, že v excelovém souboru je asi 5 listů a musíme název každého z nich zobrazovat jeden po druhém.

Budeme psát a spouštět kód v části „ThisWorkbook“, jak je zvýrazněno v červeném rámečku níže:

Poklepejte na něj a zatímco se objeví podokno okna, začněte do něj psát kód. Pro každou smyčku v aplikaci Excel VBA použijte následující kroky:

Krok 1: Budeme psát kód přiřazením názvu podmnožiny, jak je ukázáno níže.

Kód:

 Sub pagename () End Sub 

Krok 2: Můžeme také přímo začít psát příkaz smyčky „For“ bez deklarace proměnné, jak je ukázáno níže.

Kód:

 Sub pagename () Pro každý sht In Application.Sheets End Sub 

Zde „sht“ je naše proměnná1, která je ve výchozím nastavení deklarována a „Application.sheets“ znamená, že v souboru se berou v úvahu všechny listy. Application.fucntion určuje, že můžeme přidat jakoukoli funkci nebo funkci nebo vynikající nástroj, který je třeba vzít v úvahu při provádění kódu.

Krok 3: Nyní zadáme syntaxi schránky zpráv a spolu s ní přidáme syntaxi k zobrazení názvu listu, jak je ukázáno níže:

Kód:

 Sub pagename () Pro každý sht v Application.Sheets MsgBox "Název listu je:" & sht.Name End Sub 

Zde je příkaz, který bychom chtěli zobrazit, „Název listu je:“ a poté zadáme ampersand (&), který zřetězí kódový řádek a potom zadáme „sht.Name“, tj. Vybere list od prvního list a zobrazit jméno.

Krok 4: Nyní musíme zopakovat postup pro zobrazení každého názvu listu. Proto bychom použili „Next sht“, jak je ukázáno níže:

Kód:

 Sub pagename () Pro každý sht v Application.Sheets MsgBox "Název listu je:" & sht.Name Next sht End Sub 

„Next sht“ to oznámí systému, zvažte další list a zobrazí jeho název pro další provedení.

Krok 6: Spusťte kód stisknutím klávesy F5 nebo Run a podívejte se na výstup.

Jakmile kliknete na „OK“ a kód se spustí dále, zobrazí se další název listu. Kód se spustí, dokud na displeji nejsou žádné další listy.

Excel VBA pro každou smyčku - Příklad č. 3

Nyní si ukážeme příklad, kdy musíme sečíst všechny hodnoty v dané sadě dat nebo matici. Předpokládejme níže je sada dat :.

Pro každou smyčku v aplikaci Excel VBA použijte následující kroky:

Krok 1: Nejprve deklarujte název podmnožiny jako „everyadd ()“, jak je uvedeno níže.

Kód:

 Sub everyadd () End Sub 

Krok 2: Nyní deklarujeme potřebné proměnné, jednu jako celé číslo s názvem „celkem“, ve kterém budeme průběžně sčítat hodnoty buněk a opravit rozsah buněk, které obsahují hodnoty, které musíme přidat.

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As End End Sub 

Krok 3: Po deklarování proměnné a rozsahu musíme opravit rozsah, který bude použit pro smyčku. Tento rozsah od buněk A1 do A10 opravíme pomocí klíčového slova „Set“, jak je uvedeno níže:

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As Range Range Range1 = Range ("A1: A10") End Sub 

Krok 4: Nyní můžeme přímo začít používat funkci smyčky For a přímo deklarovat proměnnou. Zde jako proměnnou používáme „add1“ a ve výchozím nastavení ji systém deklaruje.

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As Range Range Range1 = Range ("A1: A10") pro každý add1 In Range1 End Sub 

Krok 5: Přidání každé entity v rozsahu jeden po druhém a do proměnné deklarované jako „celkem“. Ve výchozím nastavení je hodnota „celkem“ původně nula. A musíme přidat jednu po druhé hodnotu buněk a opět tato částka musí znovu přičíst „celkem“.

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As Range Range Range1 = Range ("A1: A10") Pro každý add1 In Range1 celkem = celkem + add1.Value End Sub Sub 

Výše uvedený příkaz se provádí zprava doleva, tj. „Add1.value“ je první hodnota buňky a přidá se k „total“, což je nula. Proto by součet byl 0 + 1, což je 1. A tato částka jako 1 by šla v „celkem“ před znaménkem „=“. To je výhoda, protože vzorec se provádí zleva doprava.

Krok 6: Nyní přidejte „Next add1“, který nyní pomůže posoudit další hodnotu buňky rozsahu dat a přidat tuto hodnotu do „total“ proměnné, jak je ukázáno níže.

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As Range Set Range1 = Range ("A1: A10") Pro každý add1 In Range1 celkem = celkem + add1.Value Next add1 End Sub Sub 

Krok 6: Stisknutím klávesy „F8“ spusťte kód na každém řádku. Hodnotu „celkem“ vidíme také na níže uvedeném snímku obrazovky.

Podobně, dokud se rozsah buněk nepřevrátí, smyčka bude pokračovat v provádění této sumy pole.

Krok 7: Nyní použijeme klíčové slovo „Msgbox“.

Kód:

 Sub everyadd () Dim total As Integer Dim Range1 As Range Set Range1 = Range ("A1: A10") Pro každý add1 In Range1 celkem = celkem + add1.Value Next add1 MsgBox "Final Summation:" & total End Sub Sub 

Krok 8: Spusťte kód stisknutím klávesy F5 nebo Run a podívejte se na výstup.

Co si pamatovat

  • „Každé“ klíčové slovo se používá pouze ve většině případů v případě použití funkce VBA For Loop. Jinak, má omezené použití v Excelu VBA.
  • Výhodou klíčového slova „Každý“ je pouze to, že v prohlášení „Pro“ nemáme kroky jako 1 až x .

Doporučené články

Toto je průvodce VBA pro každou smyčku. Zde diskutujeme o tom, jak používat pro každou smyčku v Excelu pomocí kódu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Níže uvádíme několik užitečných vynikajících článků týkajících se VBA -

  1. VBA dělat, zatímco smyčky
  2. Přepínání sloupců v Excelu
  3. VBA Break for Loop
  4. Počet jmen v Excelu
  5. Jak spustit kód VBA?

Kategorie: