Kuidas kasutada VBA Excel 2016 kogudega iga järgmise silmuse jaoks

VBA toetab programmis Excel 2016 veel üht teist tüüpi silmuste loomist: objektide kogumi iga objekti silmuse läbimist. Nagu võib-olla teate, koosneb kollektsioon paljudest sama tüüpi objektidest. Näiteks Excelis on kõigi avatud töövihikute kogu (kogu Töövihikud) ja igas töövihikus on töölehtede kogu (kogu Töölehed).

Kui teil on vaja kogu kogus olevaid objekte läbi vaadata, kasutage struktuuri Iga järgmise jaoks. Järgmine näide vaatab läbi aktiivse töövihiku iga töölehe ja kustutab töölehe, kui see on tühi:

Sub DeleteEmptySheets()
  Dim WkSht töölehena
  Application.DisplayAlerts = Vale
  Iga ActiveWorkbook.Worksheets WkSht jaoks
    Kui WorksheetFunction.CountA(WkSht.Cells) = 0 Siis
      WkSht.Delete
    Lõpeta Kui
  Järgmine WkSht
  Application.DisplayAlerts = Tõene
Lõpeta alam

Selles näites on muutuja WkSht objektimuutuja, mis esindab iga töölehte töövihikus. Muutuja nimes WkSht pole midagi erilist; võite kasutada mis tahes muutuja nime, mis teile meeldib.

Kood liigub läbi iga töölehe ja määrab tühja lehe, loendades mittetühjad lahtrid. Kui see arv on null, on leht tühi ja see kustutatakse. Pange tähele, et DisplayAlertsi säte on välja lülitatud, kui tsükkel oma tööd teeb. Ilma selle avalduseta kuvab Excel hoiatuse iga kord, kui lehte hakatakse kustutama.

Kui kõik töövihiku töölehed on tühjad, kuvatakse tõrketeade, kui Excel üritab kustutada ainsat lehte. Tavaliselt kirjutaksite selle olukorra lahendamiseks koodi.

Siin on veel üks näide iga järgmise jaoks. See protseduur kasutab tsüklit, et peita kõik aktiivses töövihikus olevad töölehed peale aktiivse lehe.

Sub HideSheets()
  Dim Sht töölehena
  Iga Sht jaoks ActiveWorkbook.Worksheetsis
    Kui Sht.Name <> ActiveSheet.Name Siis
      Sht.Visible = xlSheetHidden
    Lõpeta Kui
  Järgmine Sht
Lõpeta alam

Protseduur HideSheets kontrollib lehe nime. Kui see ei kattu aktiivse lehe nimega, on leht peidetud. Pange tähele, et atribuut Visible ei ole Boole'i ​​väärtus. See atribuut võib tegelikult võtta mis tahes kolmest väärtusest ja Excel pakub kolme sisseehitatud konstanti. Kui olete huvitatud kolmandast võimalusest (xlVeryHidden), vaadake abisüsteemi.

See, mis peidetakse, tuleb lõpuks peita, nii et siin on makro, mis toob nähtavale kõik aktiivse töövihiku töölehed:

Alam UnhideSheets()
  Dim Sht töölehena
  Iga Sht jaoks ActiveWorkbook.Worksheetsis
    Sht.Visible = xlSheetVisible
  Järgmine Sht
Lõpeta alam

Pole üllatav, et saate luua pesastatud For Every-Next silmuseid. Protseduur CountBold läbib iga avatud töövihiku iga töölehe kasutatud vahemiku iga lahtri ja kuvab paksus kirjas vormindatud lahtrite arvu:

Sub CountBold()
  Hämar WBook töövihikuna
  Hämar WSheet töölehena
  Dim Cell as Range
  Dim Cnt As Long
  Iga töövihiku töövihikute jaoks
    Iga W-lehe jaoks rakenduses WBook.Worksheets
      Iga lahtri WSheet.UsedRange jaoks
        Kui Cell.Font.Bold = tõene, siis Cnt = Cnt + 1
      Järgmine lahter
    Järgmine WSheet
  Järgmine WBook
  MsgBox Cnt & "leiti rasvased lahtrid"
Lõpeta alam

Leave a Comment

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

Uurige kümmet nõuannet Microsoft Teamsiga parema koosolekukogemuse saamiseks, sealhulgas märkmete tegemine, tausta hägustamine, vaigistamine ja koosolekute salvestamine.

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Lühikeses Word 2013 dokumendis saate kommentaare hõlpsalt sirvida ja uurida. Siit leiate samm-sammult, kuidas kommentaare lugeda ja eemaldada.

Kuidas parandada Word 2016 tavalist malli

Kuidas parandada Word 2016 tavalist malli

Mõnikord varitseb kurjus selles, mis peaks olema Word 2016 peamises mõistlikkuse hoidlas: tavalises mallifailis. Õpi, kuidas taastada normaalne mall ja eemaldada probleemid.

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s, et luua selgem ja professionaalsem ilme. Meie juhend aitab sul lihtsasti navigeerida Wordi funktsioonide kaudu ja tutvustab esimeses reas taande ning rippuva taande lisamise viise.

Kuidas Outlook 2016-s uusi kiireid samme luua

Kuidas Outlook 2016-s uusi kiireid samme luua

Lisaks kuuele kiirtoimingule, mis kuvatakse Outlooki esmakordsel installimisel, on teil valida veelgi rohkemate Quick Step mallide hulgast.

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kui olete esitluse ajal PowerPointi slaididele joonistamiseks kasutanud pliiatsit või markerit, saate joonised järgmise esitluse jaoks salvestada või need kustutada, nii et järgmisel näitamisel alustate puhaste PowerPointi slaididega. Pliiatsi ja markeri jooniste kustutamiseks järgige neid juhiseid: joonte kustutamine […]

Stiili teegi sisu rakenduses SharePoint 2010

Stiili teegi sisu rakenduses SharePoint 2010

Style'i teek sisaldab CSS-faile, XSL-faile ja eelmääratletud mallilehtede, lehepaigutuste ja juhtelementide poolt kasutatavaid pilte rakenduses SharePoint 2010. CSS-failide leidmiseks avaldamissaidi stiiliteegist: valige saidi toimingud → vaade. Kogu saidi sisu. Ilmub saidi sisu. Style raamatukogu asub […]

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Ärge uputage oma publikut tohutute numbritega. Microsoft Excelis saate parandada oma armatuurlaudade ja aruannete loetavust, vormindades numbrid tuhandetes või miljonites.

Kuidas SharePointi saite jagada ja jälgida

Kuidas SharePointi saite jagada ja jälgida

Siit saate teada, kuidas kasutada SharePointi suhtlusvõrgustiku tööriistu, mis võimaldavad üksikisikutel ja rühmadel suhelda, koostööd teha, jagada ja ühendada.

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Julia kuupäevi kasutatakse tootmiskeskkondades sageli ajatemplina ja partiinumbri kiirviitena. Seda tüüpi kuupäevade kodeerimine võimaldab jaemüüjatel, tarbijatel ja teenindusagentidel tuvastada toote valmistamise aja ja seega toote vanuse. Juliuse kuupäevi kasutatakse ka programmeerimises, sõjaväes ja astronoomias. Erinevad […]