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 silmukoiden ymmärtäminen on pakollista. 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. Ryhmä ei ole muuta kuin "Kaikki avatut työkirjat", "Kaikki työkirjan laskentataulukot", "Kaikki työkirjan muodot ja kaaviot".

Katsotaanpa syntaksia.

Mitä tehdä jokaiselle kokoelman kohteelle? Seuraava objekti

Esimerkiksi työkirjassasi on 10 arkkia ja haluat piilottaa kaikki laskentataulukot paitsi sen, jossa olet. Voitko piilottaa manuaalisesti? Kyllä, voit, mutta entä jos sinulla on 100 tällaista arkkia? Eikö se ole ikävä ja aikaa vievä tehtävä? Voit tehdä tämän käyttämällä kutakin silmukkaa.

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

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 toiminnan 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, JOKA LOOPia käytettäessä, meidän on viitattava jokaiseen aktiivisen työkirjan laskentataulukkoon.

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. Ei ole väliä kuinka monta arkkua sinulla on; se lisää sanan "Hei" kaikkiin laskentataulukoihin.

Esimerkki # 2 - Piilota kaikki taulukot

Kuten kerrottiin aiemmin viestissä, entä jos sinulla on satoja piilotettavia arkkia lukuun ottamatta sitä, missä 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 vähintään yhden arkin 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 .

So code says when you are looping through all the worksheets in the active workbook, hide only if the sheet name is not equal to the sheet name of Main Sheet.

This can be done by using the IF statement in VBA. Write the code as IF Ws.Name “Main Sheet” Then hide or if it is equal to the sheet name “Main Sheet,” then don’t hide.

Step 5: Now run the code using the F5 key or manually. Then, it will hide all the worksheets except the one named “Main Sheet.”

Example #3 - Unhide All the Sheets

We have seen how to hide all sheets except the one we are in. Similarly, we can unhide all the worksheets as well.

We need to change the code from xlSheetVeryHidden to xlSheetVisible.

Code:

Sub For_Each_Example3() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws End Sub

Here we don’t need the IF condition because we are unhiding all the sheets. If you don’t want to unhide any specific sheet, then you can use the IF condition and supply the sheet name.

Example #4 - Protect and UnProtect All the Sheets

Protect All Sheets: We can protect all the sheets in the workbook with just a piece of code. All the principle is the same only thing we need to do here is instead of Ws. Visible, we need to put the code Ws. Protect and type the password.

Code:

Sub For_Each_Example4() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Protect Password:="Excel@2019" Next Ws End Sub

Poista kaikkien taulukkojen suojaus: Samankaltaisessa muistiinpanossa VBA: n avulla voimme myös poistaa kaikkien työkirjassa suojattujen arkkien suojauksen. Meidän on lisättävä 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.
  • Kun ilmoitamme muuttujaa, meidän on viitattava mihin objektiin viitataan - esimerkiksi laskentataulukko, työkirja, kaavio jne.

Mielenkiintoisia artikkeleita...