Kuinka käyttää VBA: ta jokaiselle silmukalle? (Excel-esimerkkien kanssa)

Excel VBA jokaiselle silmukalle

Jokaisen silmukan VBA käy läpi kaiken esineiden tai esineiden kokoelman ja suorittaa samanlaisen toiminnan. Se ottaa huomioon kaikki käytettävissä olevat määritetyt objektit ja suorittaa opastetut toiminnot jokaisessa objektissa.

VBA: ssa on pakollista ymmärtää VBA: n silmukat. Silmukan avulla voit suorittaa samanlaisen toiminnan monille Excel-soluille tai esineille. Tämänpäiväisessä artikkelissa keskitymme For Every Loop -mekanismiin.

Syntaksi

Jokaiselle silmukalle voi selata kaikkia asetettuja esineiden tai esineiden kokoelmia. Kokoelma ei ole muuta kuin "Kaikki avatut työkirjat", "Kaikki työkirjan laskentataulukot", "Kaikki työkirjan muotojen ja kaavioiden kokoelmat".

Katsotaanpa syntaksia.

Mitä tehdä jokaiselle kokoelman kohteelle? Seuraava objekti

Esimerkiksi työkirjassasi on 10 arkkia ja haluat piilottaa kaikki laskentataulukot paitsi sen, jossa olet. Voitteko piilottaa manuaalisesti, kyllä ​​voit, mutta entä jos sinulla on 100 tällaista arkkia, se ei ole tylsää ja aikaa -kuluttava tehtävä. Voit tehdä tämän käyttämällä kutakin silmukkaa.

Kuinka käyttää kutakin silmukkaa VBA: ssa? (Esimerkkejä)

Voit ladata tämän VBA jokaiselle silmukkamallille täältä - VBA jokaiselle silmukkamallille

Esimerkki # 1 - Lisää sama teksti kaikkiin taulukoihin

Näemme, kuinka jokaiselle VBA: ta käytetään yksinkertaisella esimerkillä. Oletetaan, että työkirjassa on 5 laskentataulukkoa ja haluat lisätä sanan "Hei" kaikkiin solun A1 laskentataulukoihin.

Voimme tehdä tämän JOKAISELLE SILMÄILLE. Yksi asia, joka sinun on muistettava tässä, suoritamme tämän toiminnon jokaisessa laskentataulukossa, ei samassa laskentataulukossa. Kirjoita VBA-koodi noudattamalla seuraavia ohjeita.

Vaihe 1: Käynnistä Excel-makro.

Koodi:

 Sub For_Each_Example1 () End Sub 

Vaihe 2: Koska viittaamme laskentataulukoihin, ilmoita muuttuja "laskentataulukoksi".

Koodi:

 Sub For_Each_Example1 () Dim Ws laskentataulukon lopussa Sub 

Vaihe 3: Nyt jokaiselle silmukalle on käytettävä kutakin aktiivisen työkirjan laskentataulukkoa.

Koodi:

 Sub For_Each_Example1 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbookin W: lle. Työarkit Seuraava Ws End Sub 

Vaihe 4: Kirjoita nyt, mitä haluamme tehdä jokaiseen taulukkoon. Jokaisessa laskentataulukossa meidän on lisättävä sana "Hello" soluun A1.

Koodi: 

 Sub For_Each_Example1 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbook.Worksheets Ws.Range ("A1") -arvolle. Arvo = "Hello" Next Ws End Sub 

Vaihe 5: Suorita tämä koodi nyt manuaalisesti vaihtoehdon avulla tai paina pikanäppäintä F5, sillä ei ole väliä kuinka monta arkkia sinulla on, se lisää "Hello" -sanan kaikkiin taulukoihin.

Esimerkki # 2 - Piilota kaikki taulukot

Kuten kerrottiin aiemmin viestissä, entä jos sinulla on satoja piilotettavia arkkia paitsi se, jossa olet. Käyttämällä jokaiselle silmukalle voimme piilottaa kaikki taulukot Excelissä.

Vaihe 1: Käynnistä makro nimellä.

Koodi:

 Sub For_Each_Example2 () End Sub 

Vaihe 2: Ilmoita muuttujaksi " Ws ".

Koodi:

 Sub For_Each_Example2 () Dim Ws laskentataulukon lopussa Sub 

Vaihe 3: Nyt sinun on piilotettava jokaisessa laskentataulukossa.

Koodi:

 Sub For_Each_Example2 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbookin W: lle. Työarkit Ws.Visible = xlSheetVeryHidden Seuraava Ws End Sub 

Vaihe 4: Mutta jos suoritat yllä olevan koodin, se yrittää piilottaa kaikki taulukot, mutta Excel tarvitsee ainakin yhden arkin, jotta se olisi näkyvissä. Joten meidän on kerrottava, mitä arkkia ei pidä piilottaa.

Koodi:

 Sub For_Each_Example2 () Himmennä Ws laskentataulukoksi jokaiselle W: lle ActiveWorkbook.Worksheets Jos Ws.Name "Main Sheet" Sitten Ws.Visible = xlSheetVeryHidden End Jos Next Ws End Sub 

Operaattori symboli avulla ei yhtä kuin VBA .

Joten koodi kertoo, kun käydään läpi kaikki aktiivisen työkirjan piilotetut laskentataulukot vain, jos taulukon nimi ei ole sama kuin Pääarkin arkin nimi.

Tämä voidaan tehdä käyttämällä IF-käskyä VBA: ssa. Kirjoita koodi nimellä IF Ws.Name “Main Sheet” Piilota sitten tai jos se on yhtä suuri kuin arkin nimi “Main Sheet”, älä piilota.

Vaihe 5: Suorita koodi nyt F5-näppäimellä tai manuaalisesti, jolloin se piilottaa kaikki laskentataulukot paitsi pääarkkiksi kutsuttu.

Esimerkki # 3 - Piilota kaikki taulukot

Olemme nähneet kuinka piilottaa kaikki arkit paitsi se, jossa olemme. Voimme myös näyttää kaikki laskentataulukot.

Meidän on vain vaihdettava koodi xlSheetVeryHidden- tiedostosta xlSheetVisible.

Koodi:

 Sub For_Each_Example3 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbookin W: lle. Työarkit Ws. 

Täällä emme tarvitse IF-ehtoa, koska piilotamme kaikki arkit. Jos et halua piilottaa mitään tiettyä taulukkoa, voit käyttää IF-ehtoa ja antaa taulukon nimen.

Esimerkki # 4 - Suojaa ja poista kaikkien arkkien suojaus

Suojaa kaikki arkit: Voimme suojata kaikki työkirjan arkit vain koodilla. Kaikki koodi on sama ainoa asia, joka meidän on tehtävä täällä, on W: n sijaan. Näkyvä meidän on laitettava koodi Ws. Suojaa ja kirjoita salasana.

Koodi:

 Sub For_Each_Example4 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbookin W: lle .Työarkit Ws.Protect Password: = "Excel @ 2019" Next Ws End Sub 

Poista kaikkien taulukkojen suojaus: Samankaltaisessa huomautuksessa vba: lla voimme myös suojata kaikki työkirjassa suojatut taulukot. Meidän täytyy vain laittaa sana Suojaamaton ja salasana.

Koodi:

 Sub For_Each_Example6 () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbookin W: lle. Työtasot Ws. Unrotect Salasana: = "Excel @ 2019" Seuraava Ws End Sub 

Muistettavaa

  • Jokainen on tarkoitettu esineiden keräämiseen.
  • Se ottaa huomioon kaikki määritellyt työkirjan määritetyt objektit.
  • Ilmoittaessamme muuttujan tarvitsemme mihin objektiin viittaamme. Esimerkiksi laskentataulukko, työkirja, kaavio jne.

$config[zx-auto] not found$config[zx-overlay] not found