Kako uporabiti VBA za vsako zanko? (z Excelovimi primeri)

Excel VBA za vsako zanko

VBA For Every Loop preide vso zbirko predmetov ali predmetov in izvede podoben nabor dejavnosti. Upošteval bo vse razpoložljive določene predmete in v vsakem predmetu izvedel navodilo.

V VBA je obvezno razumevanje zank. Zanka vam omogoča izvajanje iste vrste dejavnosti za številne celice ali predmete v Excelu. V današnjem članku se bomo osredotočili na mehanizem za vsako zanko.

Sintaksa

Za vsako zanko se lahko vrti skozi celotno zbirko predmetov ali predmetov. Skupina ni nič drugega kot »Vsi odprti delovni zvezki«, »Vsi delovni listi v delovnem zvezku«, »Vsa zbirka oblik in grafikonov v delovnem zvezku«.

Poglejmo sintakso.

Kaj storiti za vsak predmet v zbirki Naslednji predmet

Na primer, v delovnem zvezku imate 10 listov in želite skriti vse delovne liste, razen tistega, v katerem ste. Ali se lahko skrijete ročno? Da, lahko, kaj pa če imate 100 takih listov? Ali ni to dolgočasno in dolgotrajno opravilo? To lahko storite z uporabo za vsako zanko.

Kako uporabljati za vsako zanko v VBA? (Primeri)

Primer # 1 - Vstavite isto besedilo v vse liste

Na preprostem primeru bomo videli, kako v VBA uporabiti VSAKO. Predpostavimo, da imate v delovnem zvezku 5 delovnih listov in želite vstaviti besedo »Pozdravljeni« v vse delovne liste v celici A1.

To lahko storimo s programom FOR EACH LOOP. Nekaj, česar si morate tukaj zapomniti, je, da to dejavnost izvajamo na vsakem delovnem listu, ne na istem delovnem listu. Za pisanje kode VBA sledite spodnjim korakom.

1. korak: zaženite makro excel.

Koda:

Sub For_Each_Example1 () Konec Sub

2. korak: Ker se sklicujemo na delovne liste, spremenljivko razglasite kot »Worksheet«.

Koda:

Sub For_Each_Example1 () Dim Ws As Worksheet End Sub

3. korak: Zdaj moramo z uporabo FOR EACH LOOP napotiti vsak delovni list v aktivni delovni zvezek.

Koda:

Sub For_Each_Example1 () Zatemni W kot delovni list za vsak Ws v ActiveWorkbook. Delovni listi Naslednji Ws End Sub

4. korak: Zdaj v vsak delovni list napišite, kaj želimo početi. Na vsak delovni list moramo v celico A1 vnesti besedo »Pozdravljeni«.

Koda:

Sub For_Each_Example1 () Zatemni W kot delovni list za vsak Ws v ActiveWorkbook. Delovni listi Ws.Range ("A1"). Value = "Hello" Next Ws End Sub

5. korak: Zdaj zaženite to kodo ročno prek možnosti ali pritisnite bližnjično tipko F5. Ni pomembno, koliko listov imate; na vse delovne liste bo vstavil besedo »Hello«.

2. primer - Skrij vse liste

Kot smo že povedali v prispevku, kaj če imate na stotine listov, ki jih želite skriti, razen tistega, v katerem ste. Z vsako zanko lahko v Excelu skrijemo vse liste.

1. korak: Zaženite makro s svojim imenom.

Koda:

Sub For_Each_Example2 () Konec Sub

2. korak: Spremenljivko prijavite kot » Ws«.

Koda:

Sub For_Each_Example2 () Dim Ws as Worksheet End Sub

3. korak: Na vsakem delovnem listu morate skriti list.

Koda:

Sub For_Each_Example2 () Zatemni W kot delovni list za vsak Ws v ActiveWorkbook. Delovni listi Ws.Visible = xlSheetVeryHidden Next Ws End Sub

4. korak: Če pa zaženete zgornjo kodo, bo poskušal skriti vse liste, vendar Excel potrebuje vsaj en list viden. Zato moramo povedati, katerega lista ne smemo skriti.

Koda:

Sub For_Each_Example2 () Zatemni W kot delovni list za vsak Ws v ActiveWorkbook. Delovni listi Če je Ws.Name "Glavni list", potem Ws.Visible = xlSheetVeryHidden End, če se naslednji Ws konča Sub

Za simbol operater sredstvo ni enaka v 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

Odstrani zaščito vseh listov : V podobnem zapisu lahko z uporabo VBA tudi zaščitimo vse liste, zaščitene v delovnem zvezku. Vnesti moramo besedo Unprotect in geslo.

Koda:

Sub For_Each_Example6 () Zatemni W kot delovni list za vsak Ws v ActiveWorkbook.Workshees Ws.Unprotect Password: = "Excel @ 2019" Next Ws End Sub

Stvari, ki si jih je treba zapomniti

  • Vsak je namenjen zbiranju predmetov.
  • Upošteval bo vse določene predmete v navedenem delovnem zvezku.
  • Med razglasitvijo spremenljivke moramo na kateri predmet se sklicujemo - na primer na Delovni list, Delovni zvezek, Grafikon itd.

Zanimive Članki...