VBA kiekvienam pavyzdžiui (trumpa nuoroda)

Ši pamoka parodys pavyzdžius, kaip VBA naudoti kiekvieną kilpą. Spustelėkite čia, kad sužinotumėte daugiau apie kilpas apskritai.

Už kiekvieną kilpą

„For For Every Loop“ leidžia atlikti kilpą kiekvienas objektas kolekcijoje:

  • Visos ląstelės diapazone
  • Visi darbalapiai darbo knygoje
  • Visos atviros darbo knygos
  • Visos formos darbalapyje
  • Visi masyvo elementai
  • ir dar!

Kiekvienam: pagrindiniai pavyzdžiai

Šie pavyzdžiai parodys, kaip nustatyti kiekvienai kilpai, kad būtų galima perjungti skirtingų tipų objektus.

Loop Through Cells

Ši procedūra aplenks kiekvieną A1: A10 diapazono langelį, nustatydama langelį sau tinkamą.

12345678 Sub ForEachCell ()„Dim Cell“ kaip diapazonasKiekvienai lapų langeliui („Sheet1“). Diapazonas („A1: A10“)Langelis. Poslinkis (0, 1) .value = Cell.valueKitas langelisPabaiga Sub

„Loop Through Sheets“

Ši procedūra aplenks kiekvieną darbo knygos lapą, atskleisdama kiekvieną lapą.

12345678 Sub ForEachSheets ()Dim ws kaip darbalapisUž kiekvieną ws In Sheetsws.Visible = TiesaKitas lapasPabaiga Sub

Peržiūrėkite darbo knygas

Ši procedūra aplenks kiekvieną darbo knygą, uždarydama kiekvieną.

12345678 Sub ForEachWorkbooks ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėsewb. UždarytiKitas wbPabaiga Sub

Kurti formas

Ši procedūra aplenks kiekvieną „Sheet1“ formą, ištrindama kiekvieną.

12345678 Sub ForEachShape ()Dim Shp kaip formaKiekvienam „Shep In Sheets“ („Sheet1“). FormosShp. IštrintiKitas ShpPabaiga Sub

„Loop Through“ diagramos

Ši procedūra aplenks kiekvieną lentelės 1 diagramą, ištrindama kiekvieną.

12345678 Sub ForEachCharts ()Dim cht Kaip ChartObjectUž kiekvieną cht In Sheets („Sheet1“). ChartObjectscht. IštrintiKitas chtPabaiga Sub

Perjungti „PivotTable“

Ši procedūra atliks kiekvieną „Sheet1“ „PivotTable“, išvalydama kiekvieną

12345678 Sub ForEachPivotTables ()Dim pvt As PivotTableUž kiekvieną pvt In Sheets („Sheet1“). „PivotTable“pvt.ClearTableKitas pvtPabaiga Sub

Keliaukite per lenteles

Ši procedūra pereis per kiekvieną 1 lapo lentelę, ištrindama kiekvieną.

12345678 Sub ForEachTables ()Dim tbl kaip ListObjectUž kiekvieną tbl In Sheets ("Sheet1"). ListObjectstbl. IštrintiKitas tblPabaiga Sub

Peržiūrėkite elementus iš masyvo

Ši procedūra atliks kiekvieną masyvo elementą, parodys kiekvieną vertę žinutės dėžutėje,

12345678910 Sub ForEachItemInArray ()Dim arrValue As VariantDim Dimension As VariantarrValue = Masyvas ("1 elementas", "2 elementas", "3 punktas")Kiekvienam elementui In arrValue„MsgBox“ elementasKitas elementasPabaiga Sub

Keliaukite per skaičius

Ši procedūra aplenks kiekvieną skaičių masyve, parodys kiekvieną reikšmę žinutės dėžutėje,

12345678910111213 Sub ForEachNumberInNumbers ()Dim arrNumber (nuo 1 iki 3) kaip sveikasis skaičiusDim num As VariantarrNumber (1) = 10arrNumber (2) = 20arrNumber (3) = 30Už kiekvieną skaičių In arrNumber„Msgbox“ numerisKitas numerisPabaiga Sub

Kiekvienam kilpų kūrėjui

Šio straipsnio pavyzdžiai buvo sukurti naudojant Kilpų kūrėjas mūsų VBA priedas: „AutoMacro“.

The Kilpų kūrėjas labai lengva sugeneruoti kodą, kad būtų galima perjungti objektus. AutoMacro taip pat yra daug kitų Kodų generatoriai, platus Kodų biblioteka, ir galingas Kodavimo įrankiai.

Kiekvienam - jei

Taip pat galite naudoti „If Statements in Loops“, kad patikrintumėte, ar objektai atitinka tam tikrus kriterijus, tik atlikdami veiksmus su tais objektais, kurie atitinka kriterijus. Čia pateikiamas kiekvienos diapazono ląstelės ciklo pavyzdys:

Kiekvienai diapazono langeliui - jei

1234567891011121314 Antrinis If_Loop ()„Dim Cell“ kaip diapazonasKiekvienai diapazono langeliui ("A2: A6")Jei langelis.Vertė> 0 TadaLangelis.Poilsis (0, 1) .Vertybė = "Teigiamas"ElseIf Cell.Value <0 TadaLangelis.Poilsis (0, 1) .Vertybė = "Neigiamas"KitasLangelis.Poilsis (0, 1) .Vertybė = "Nulis"Pabaiga JeiKitas langelisPabaiga Sub

Kiekvienam bendram pavyzdžiui

Uždaryti visas darbaknyges

Ši procedūra uždarys visas atidarytas darbaknyges ir išsaugos pakeitimus.

123456789 Sub CloseAllWorkbooks ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėsewb. Uždaryti SaveChanges: = TiesaKitas wbPabaiga Sub

Slėpti visus lapus

Ši procedūra paslėps visus darbalapius.

12345678 Sub HideAllSheets ()Dim ws kaip darbalapisUž kiekvieną ws In Sheetsws.Visible = xlSheetHiddenKitas wsPabaiga Sub

Rodyti visus lapus

Ši procedūra parodys visus darbalapius.

12345678 Sub UnhideAllSheets ()Dim ws kaip darbalapisUž kiekvieną ws In Sheetsws.Visible = xlSheetVisibleKitas wsPabaiga Sub

Apsaugokite visus lapus

Ši procedūra apsaugos visus darbalapius.

12345678 Sub ProtectAllSheets ()Dim ws kaip darbalapisUž kiekvieną ws In Sheetsws.Protect Slaptažodis: = "…"Kitas wsPabaiga Sub

Atšaukti visų lapų apsaugą

Ši procedūra panaikins visų darbalapių apsaugą.

12345678 Sub UnprotectAllSheets ()Dim ws kaip darbalapisUž kiekvieną ws In Sheetsws.Unprotect Password: = "…"Kitas wsPabaiga Sub

Ištrinkite visas formas visuose darbalapiuose

Ši procedūra ištrins visas darbaknygės formas.

123456789101112 Sub DeleteAllShapesOnAllWorksheets ()Apšviesti lapą kaip darbalapįDim Shp kaip formaUž kiekvieną ws In SheetsKiekvienam Shp In ws.ShapesShp. IštrintiKitas ShpKitas wsPabaiga Sub

Atnaujinti visas „PivotTable“

Ši procedūra atnaujins visas lapo „PivotTable“ lenteles.

12345678 Sub RefreshAllPivotTables ()Dim pvt As PivotTableUž kiekvieną pvt In Sheets („Sheet1“). „PivotTable“pvt.RefreshTableKitas pvtPabaiga Sub

Naudojimas kiekvienam „Access VBA“

„For Every loop“ veikia taip pat „Access VBA“, kaip ir „Excel VBA“. Šis pavyzdys pašalins visas dabartinės duomenų bazės lenteles.

123456789 Sub RemoveAllTables ()Dim tdf kaip „TableDef“Dim dbs kaip duomenų bazėNustatykite dbs = CurrentDbKiekvienam tdf dbs.TableDefsDoCmd.DeleteObject tdf.NameKilpaNustatyti dbs = niekoPabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave