Használata a VBA Excel 2016 gyűjteményekkel rendelkező egyes következő ciklusaihoz

A VBA egy másik típusú hurkolást is támogat az Excel 2016-ban: az objektumok gyűjteményében lévő egyes objektumok áthurkolását. Egy gyűjtemény, amint azt Ön is tudja, számos azonos típusú objektumból áll. Például az Excel tartalmazza az összes nyitott munkafüzet gyűjteményét (a Munkafüzetek gyűjteményét), és minden munkafüzetben van egy munkalapgyűjtemény (a Munkalapok gyűjtemény).

Ha egy gyűjtemény minden egyes objektumán keresztül kell végigfutnia, használja a For Every-Next struktúrát. A következő példa végigfut az aktív munkafüzet minden egyes munkalapján, és törli a munkalapot, ha az üres:

Sub DeleteEmptySheets()
  Dim WkSht munkalapként
  Application.DisplayAlerts = Hamis
  Minden egyes WkSht-hez az ActiveWorkbook.Worksheetsben
    Ha WorksheetFunction.CountA(WkSht.Cells) = 0 Akkor
      WkSht.Delete
    Vége Ha
  Következő WkSht
  Application.DisplayAlerts = Igaz
Vége Sub

Ebben a példában a WkSht változó egy objektumváltozó, amely a munkafüzet minden egyes munkalapját reprezentálja. Semmi különös a WkSht változónévben; tetszőleges változónevet használhat.

A kód végigfut minden munkalapon, és a nem üres cellák megszámlálásával meghatároz egy üres lapot. Ha ez a szám nulla, a lap üres, és törlődik. Figyelje meg, hogy a DisplayAlerts beállítás ki van kapcsolva, miközben a hurok végzi a dolgát. E nélkül az utasítás nélkül az Excel minden alkalommal figyelmeztetést jelenít meg, amikor egy munkalap törlésre készül.

Ha a munkafüzetben lévő összes munkalap üres, hibaüzenet jelenik meg, amikor az Excel megpróbálja törölni az egyetlen lapot. Általában kódot ír a helyzet kezelésére.

Íme egy másik példa az Every-Next-re. Ez az eljárás egy hurkot használ az aktív munkafüzet összes munkalapjának elrejtésére, kivéve az aktív munkalapot.

Sub HideSheets()
  Dim Sht Munkalapként
  Minden egyes Sht-hez az ActiveWorkbook.Worksheetsben
    Ha Sht.Name <> ActiveSheet.Name Akkor
      Sht.Visible = xlSheetHidden
    Vége Ha
  Következő Sht
Vége Sub

A HideSheets eljárás ellenőrzi a lap nevét. Ha nem egyezik az aktív munkalap nevével, a munkalap el van rejtve. Figyelje meg, hogy a Visible tulajdonság nem logikai érték. Ez a tulajdonság valójában három érték bármelyikét felveheti, és az Excel három beépített állandót biztosít. Ha kíváncsi a harmadik lehetőségre (xlVeryHidden), nézze meg a Súgót.

Ami el van rejtve, annak végül fel kell fednie, ezért itt van egy makró, amely felfedi az összes munkalapot az aktív munkafüzetben:

Al UnhideSheets()
  Dim Sht Munkalapként
  Minden egyes Sht-hez az ActiveWorkbook.Worksheetsben
    Sht.Visible = xlSheetVisible
  Következő Sht
Vége Sub

Nem meglepő, hogy beágyazott For Every-Next ciklusokat hozhat létre. A CountBold eljárás minden megnyitott munkafüzet minden munkalapján végigfut a használt tartomány minden celláján, és megjeleníti a félkövérre formázott cellák számát:

Sub CountBold()
  Dim WBook As Workbook
  Dim WSheet Munkalapként
  Dim Cell As Range
  Dim Cnt As Long
  Minden egyes WBook In Workbooks-hoz
    A WBook.Worksheets egyes WSheetjeihez
      A WSheet.UsedRange minden egyes cellájához
        Ha Cell.Font.Bold = igaz, akkor Cnt = Cnt + 1
      Következő cella
    Következő WSheet
  Következő WBook
  MsgBox Cnt és „félkövér cellák találhatók”
Vége Sub

Leave a Comment

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban. Részletes útmutató, hogyan készíthet különféle stílusú jegyzeteket bibliográfiai információkhoz vagy magyarázó megjegyzésekhez.

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Tudjon meg mindent arról, hogyan lehet az Excelben kiemelni a statisztikailag kiugró értékeket, mégpedig egyszerű eszközökkel és módszerekkel. Kiemelt figyelmet fordítunk a kiugró értékek azonosítására és kezelésére.

Hogyan lehet mintát venni az adatokból Excelben

Hogyan lehet mintát venni az adatokból Excelben

Az Excel Mintavételi eszközével véletlenszerűen kiválaszthat elemeket egy adatkészletből vagy választhat minden n-edik elemet. Ismerje meg, hogyan használhatja ezt a hasznos funkciót az adatelemzéshez!

10 klassz trükk a Microsoft Word 2019 programmal

10 klassz trükk a Microsoft Word 2019 programmal

Fedezze fel a Microsoft Word 2019 legjobb trükkjeit, amelyek segítenek a hatékonyabb munkavégzésben. Tudd meg, hogyan használhatod ki a program funkcióit!

Bekezdések igazítása és behúzása a Word 2019-ben

Bekezdések igazítása és behúzása a Word 2019-ben

A Word 2019-ben a bekezdések igazítása és behúzása kulcsfontosságú a dokumentumok megfelelő megjelenítéséhez. Ismerje meg a formázási lehetőségeket és tippeket a hatékonyabb munkához.

Az Excel 2019 Solver használata

Az Excel 2019 Solver használata

Fedezze fel, hogyan használhatja az Excel 2019 Solver bővítményt a komplex problémák megoldására. A célcella, változócellák és kényszerek beállítása lépésről lépésre.

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

A Word lehetővé teszi dinamikus elemek hozzáadását a dokumentumhoz. Fedezze fel, hogyan lehet különböző mezőket használni a Word programban a dinamikus tartalom létrehozásához.

Oszloptípusok a SharePoint 2010-ben

Oszloptípusok a SharePoint 2010-ben

A SharePoint 2010 oszlopai az adatok tárolására szolgálnak. Fedezze fel a különböző oszlop típusokat és azok alkalmazását a SharePoint rendszeren belül.

A nem kívánt szöveg eltávolítása a Word 2013-ban

A nem kívánt szöveg eltávolítása a Word 2013-ban

A Word 2013 szövegtörlésének képessége kulcsfontosságú, legyen szó szövegalkotásról vagy törlésről. Ismerje meg a hatékony szövegtörlési módszereket!

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

A fotóalbum funkció a PowerPoint 2016-ban lehetővé teszi, hogy egyszerre több fényképet illesszen be egy prezentációba, megkönnyítve ezzel a többszörös képek kezelését.