Ako používať pre každú ďalšiu slučku s kolekciami vo VBA Excel 2016

VBA podporuje ešte ďalší typ cyklovania v Exceli 2016: cyklovanie cez každý objekt v kolekcii objektov. Zbierka, ako možno viete, pozostáva z množstva predmetov rovnakého typu. Napríklad Excel má kolekciu všetkých otvorených zošitov (kolekcia Workbooks) a každý zošit má kolekciu pracovných hárkov (kolekcia Worksheets).

Keď potrebujete prejsť cez každý objekt v kolekcii, použite štruktúru For Each-Next. Nasledujúci príklad prechádza každým pracovným hárkom v aktívnom zošite a vymaže ho, ak je prázdny:

Sub DeleteEmptySheets()
  Dim WkSht As Worksheet
  Application.DisplayAlerts = False
  Pre každý WkSht v ActiveWorkbook.Worksheets
    Ak WorksheetFunction.CountA(WkSht.Cells) = 0 Potom
      WkSht.Delete
    Koniec Ak
  Ďalší WkSht
  Application.DisplayAlerts = True
End Sub

V tomto príklade je premenná WkSht objektová premenná, ktorá predstavuje každý pracovný hárok v zošite. Na názve premennej WkSht nie je nič zvláštne; môžete použiť ľubovoľný názov premennej, ktorý sa vám páči.

Kód prechádza každým pracovným hárkom a určí prázdny hárok spočítaním neprázdnych buniek. Ak je tento počet nula, hárok je prázdny a vymaže sa. Všimnite si, že nastavenie DisplayAlerts je vypnuté, kým slučka robí svoju prácu. Bez tohto príkazu Excel zobrazí varovanie vždy, keď sa hárok chystá odstrániť.

Ak sú všetky hárky v zošite prázdne, pri pokuse Excelu o odstránenie jediného hárka sa zobrazí chyba. Normálne by ste napísali kód na riešenie tejto situácie.

Tu je ďalší príklad For Each-Next. Tento postup používa slučku na skrytie všetkých pracovných hárkov v aktívnom zošite okrem aktívneho hárka.

Sub HideSheets()
  Dim Sht As Worksheet
  Pre každý Sht v ActiveWorkbook.Worksheets
    Ak Sht.Name <> ActiveSheet.Name Then
      Sht.Visible = xlSheetHidden
    Koniec Ak
  Ďalej Sht
End Sub

Procedúra HideSheets skontroluje názov hárka. Ak sa nezhoduje s názvom aktívneho hárka, hárok je skrytý. Všimnite si, že vlastnosť Visible nie je boolovská. Táto vlastnosť môže v skutočnosti nadobudnúť ktorúkoľvek z troch hodnôt a Excel poskytuje tri vstavané konštanty. Ak vás zaujíma tretia možnosť (xlVeryHidden), pozrite si systém pomocníka.

Čo sa skryje, musí sa nakoniec odkryť, takže tu je makro, ktoré odkryje všetky pracovné hárky v aktívnom zošite:

Sub UnhideSheets()
  Dim Sht As Worksheet
  Pre každý Sht v ActiveWorkbook.Worksheets
    Sht.Visible = xlSheetVisible
  Ďalej Sht
End Sub

Nie je prekvapením, že môžete vytvoriť vnorené slučky For Each-Next. Procedúra CountBold prechádza cez každú bunku v použitom rozsahu na každom hárku v každom otvorenom zošite a zobrazuje počet buniek, ktoré sú naformátované tučným písmom:

Sub CountBold()
  Stlmiť WBook ako pracovný zošit
  Dim WSsheet As Worksheet
  Dim Cell As Range
  Dim Cnt As Long
  Pre každý WBook v zošitoch
    Pre každý list WBook.Worksheets
      Pre každú bunku v liste WSheet.UsedRange
        Ak Cell.Font.Bold = True, potom Cnt = Cnt + 1
      Ďalšia bunka
    Ďalší WSlist
  Ďalší WBook
  MsgBox Cnt & „Boli nájdené tučné bunky“
End Sub

Leave a Comment

Ako zmeniť pozadie v PowerPointe 2019

Ako zmeniť pozadie v PowerPointe 2019

Naučte sa, ako jednoducho zmeniť pozadie v PowerPointe 2019, aby vaše prezentácie pôsobili pútavo a profesionálne. Získajte tipy na plnú farbu, prechod, obrázky a vzory.

Ako používať štatistické funkcie v Exceli na počítanie položiek v množine údajov

Ako používať štatistické funkcie v Exceli na počítanie položiek v množine údajov

Excel poskytuje štyri užitočné štatistické funkcie na počítanie buniek v hárku alebo zozname: COUNT, COUNTA, COUNTBLANK a COUNTIF. Pre viac informácií o Excel funkciách, pokračujte.

Klávesové skratky pre bežné príkazy zobrazenia Excel 2013

Klávesové skratky pre bežné príkazy zobrazenia Excel 2013

Objavte efektívne klávesové skratky v Exceli 2013 pre zobrazenie, ktoré vám pomôžu zlepšiť produktivitu. Všetky skratky sú začiatkom s Alt+W.

Ako nastaviť okraje stránky v programe Word 2013

Ako nastaviť okraje stránky v programe Word 2013

Naučte sa, ako nastaviť okraje v programe Word 2013 s naším jednoduchým sprievodcom. Tento článok obsahuje užitočné tipy a predvoľby okrajov pre váš projekt.

Ako používať štatistické funkcie na výpočet priemerov, režimov a mediánov v Exceli

Ako používať štatistické funkcie na výpočet priemerov, režimov a mediánov v Exceli

Excel vám poskytuje niekoľko štatistických funkcií na výpočet priemerov, režimov a mediánov. Pozrite si podrobnosti a príklady ich použitia.

Ako zistiť a opraviť chyby vzorcov v Exceli 2016

Ako zistiť a opraviť chyby vzorcov v Exceli 2016

Excel 2016 ponúka niekoľko efektívnych spôsobov, ako opraviť chyby vo vzorcoch. Opravy môžete vykonávať po jednom, spustiť kontrolu chýb a sledovať odkazy na bunky.

Archivácia priečinkov programu Outlook

Archivácia priečinkov programu Outlook

V niektorých prípadoch Outlook ukladá e-mailové správy, úlohy a plánované činnosti staršie ako šesť mesiacov do priečinka Archív – špeciálneho priečinka pre zastarané položky. Učte sa, ako efektívne archivovať vaše položky v Outlooku.

Vytváranie a formátovanie tabuliek v programe Word 2019

Vytváranie a formátovanie tabuliek v programe Word 2019

Word vám umožňuje robiť rôzne zábavné veci s tabuľkami. Učte sa o vytváraní a formátovaní tabuliek vo Worde 2019. Tabuľky sú skvelé na organizáciu informácií.

Výber rozsahu Excel VBA

Výber rozsahu Excel VBA

V článku sa dozviete, ako umožniť používateľovi vybrať rozsah v Excel VBA pomocou dialógového okna. Získajte praktické tipy a príklady na zlepšenie práce s rozsahom Excel VBA.

Výpočet percentuálneho rozptylu so zápornými hodnotami v Exceli

Výpočet percentuálneho rozptylu so zápornými hodnotami v Exceli

Vzorec na výpočet percentuálnej odchýlky v Exceli s funkciou ABS pre správne výsledky aj so zápornými hodnotami.