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

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ý […]