Jak používat pro každou další smyčku s kolekcemi ve VBA Excel 2016

VBA podporuje ještě další typ cyklování v Excelu 2016: cyklování přes každý objekt v kolekci objektů. Sbírka, jak možná víte, se skládá z několika objektů stejného typu. Excel má například kolekci všech otevřených sešitů (kolekce Workbooks) a každý sešit má kolekci listů (kolekce Worksheets).

Pokud potřebujete procházet každý objekt v kolekci, použijte strukturu For Each-Next. Následující příklad prochází každý list v aktivním sešitu a odstraní ho, pokud je prázdný:

Sub DeleteEmptySheets()
  Dim WkSht jako pracovní list
  Application.DisplayAlerts = False
  Pro každý WkSht v ActiveWorkbook.Worksheets
    If WorksheetFunction.CountA(WkSht.Cells) = 0 Pak
      WkSht.Delete
    End If
  Další WkSht
  Application.DisplayAlerts = True
End Sub

V tomto příkladu je proměnná WkSht objektová proměnná, která představuje každý list v sešitu. Na názvu proměnné WkSht není nic zvláštního; můžete použít libovolný název proměnné, který chcete.

Kód prochází každý list a určí prázdný list spočítáním neprázdných buněk. Pokud je tento počet nula, list je prázdný a je smazán. Všimněte si, že nastavení DisplayAlerts je vypnuto, když smyčka dělá svou věc. Bez tohoto příkazu Excel zobrazí varování pokaždé, když se má list smazat.

Pokud jsou všechny listy v sešitu prázdné, zobrazí se při pokusu aplikace Excel o odstranění jediného listu chyba. Normálně byste napsali kód, který tuto situaci zvládne.

Zde je další příklad For Each-Next. Tento postup používá smyčku ke skrytí všech listů v aktivním sešitu kromě aktivního listu.

Dílčí HideSheets()
  Dim Sht jako pracovní list
  Pro každý Sht v ActiveWorkbook.Worksheets
    If Sht.Name <> ActiveSheet.Name Then
      Sht.Visible = xlSheetHidden
    End If
  Další Sht
End Sub

Procedura HideSheets zkontroluje název listu. Pokud není stejný jako název aktivního listu, je list skrytý. Všimněte si, že vlastnost Visible není logická. Tato vlastnost může ve skutečnosti nabývat jakékoli ze tří hodnot a Excel poskytuje tři vestavěné konstanty. Pokud vás zajímá třetí možnost (xlVeryHidden), podívejte se do systému nápovědy.

Co se skryje, musí se nakonec odkrýt, takže zde je makro, které odkryje všechny listy v aktivním sešitu:

Sub UnhideSheets()
  Dim Sht jako pracovní list
  Pro každý Sht v ActiveWorkbook.Worksheets
    Sht.Visible = xlSheetVisible
  Další Sht
End Sub

Není překvapením, že můžete vytvořit vnořené smyčky For Each-Next. Procedura CountBold prochází každou buňku v použitém rozsahu na každém listu v každém otevřeném sešitu a zobrazuje počet buněk, které jsou formátovány tučně:

Sub CountBold()
  Ztlumit WBook jako sešit
  Dim WSsheet As Worksheet
  Dim Cell As Range
  Dim Cnt As Long
  Pro každý WBook v sešitech
    Pro každý list WBook.Worksheets
      Pro každou buňku v WSheet.UsedRange
        Pokud Cell.Font.Bold = True, pak Cnt = Cnt + 1
      Další buňka
    Další WSlist
  Další WBook
  MsgBox Cnt & „nalezeny tučné buňky“
End Sub

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.