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 silmukkamallilleEsimerkki # 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.