VBA za vsak primer (hitra referenca)

Ta vadnica vam bo pokazala primere uporabe za vsako zanko v VBA. Kliknite tukaj, če želite izvedeti več o zankah na splošno.

Za vsako zanko

Za vsako zanko vam omogoča, da se preklopite vsak predmet v zbirki:

  • Vse celice v razponu
  • Vsi delovni listi v delovnem zvezku
  • Vsi odprti delovni zvezki
  • Vse oblike na delovnem listu
  • Vsi elementi v matriki
  • in več!

Za vsakega: Osnovni primeri

Ti primeri bodo pokazali, kako nastaviti zanke For Each za kroženje po različnih vrstah predmetov.

Zanka skozi celice

Ta postopek se bo preletel skozi vsako celico v območju A1: A10 in celico nastavil tako, da je enaka sama sebi.

12345678 Sub ForEachCell ()Dim Cell As RangeZa vsako celico v listih ("List1"). Obseg ("A1: A10")Cell.Offset (0, 1) .value = Cell.valueNaslednja celicaEnd Sub

Prelistajte liste

Ta postopek se bo preletel skozi vsak list v delovnem zvezku in razkril vsak list.

12345678 Sub ForEachSheets ()Zatemni kot delovni listZa vsako ws v listihws.Visible = ResNaslednji listEnd Sub

Prelistajte delovne zvezke

Ta postopek se bo preletel skozi vsak delovni zvezek in zaprl vsakega.

12345678 Sub ForEachWorkbooks ()Dim wb Kot delovni zvezekZa vsako wb v delovnih zvezkihwb.ZapriNaslednja wbEnd Sub

Krožne oblike

Ta postopek se bo preletel skozi vsako obliko v Sheet1 in izbrisal vsako.

12345678 Sub ForEachShape ()Zatemni Shp kot oblikoZa vsako shp v listih ("list1"). OblikeShp.DeleteNaprej ShpEnd Sub

Loop Through Charts

Ta postopek se bo preletel skozi vsak grafikon v listu 1 in vsakega izbrisal.

12345678 Sub ForEachCharts ()Zatemni cht kot ChartObjectZa vsak cht In Sheets ("Sheet1"). ChartObjectscht.IzbrišiNaslednji chtEnd Sub

Prenesite vrtilne tabele

Ta postopek se bo vrtel skozi vsako vrtilno tabelo v listu 1 in vsako počistil

12345678 Sub ForEachPivotTables ()Zatemni pvt kot vrtilno tabeloZa vsak pvt v listih ("List1"). Vrtilne tabelepvt.ClearTableNaslednji pvtEnd Sub

Prečrtajte tabele

Ta postopek se bo preletel skozi vsako tabelo v listu 1 in vsako izbrisal.

12345678 Sub ForEachTables ()Zatemni tbl kot ListObjectZa vsak tbl v listih ("list1"). ListObjectstbl.IzbrišiNaslednja tblEnd Sub

Preglejte elemente v nizu

Ta postopek se bo preletel skozi vsak element v nizu in prikazal vsako vrednost v polju za sporočila,

12345678910 Sub ForEachItemInArray ()Zatemni arrValue kot variantoZatemni element kot variantoarrValue = Polje ("postavka 1", "postavka 2", "postavka 3")Za vsak predmet v arrValueMsgBox elementNaslednji elementEnd Sub

Prenesite številke

Ta postopek se bo preletel skozi vsako številko v nizu in prikazal vsako vrednost v polju za sporočila,

12345678910111213 Sub ForEachNumberInNumbers ()Zatemni arrNumber (1 do 3) kot celo številoDim num As VariantarrNumber (1) = 10arrNumber (2) = 20arrNumber (3) = 30Za vsako število V arrNumberSporočilo ŠtNaslednja štEnd Sub

Za vsakega graditelja zank

Primeri v tem članku so bili zgrajeni z Graditelj zank v našem Dodatek VBA: AutoMacro.

The Graditelj zank omogoča zelo enostavno ustvarjanje kode za prehod skozi predmete. AutoMacro vsebuje tudi veliko drugih Generatorji kod, obsežen Knjižnica kodin močan Orodja za kodiranje.

Za vsakega - če

Izjave If v zankah lahko uporabite tudi za preverjanje, ali predmeti izpolnjujejo določena merila, samo za izvajanje dejanj na tistih objektih, ki izpolnjujejo merila. Tukaj je primer zanke skozi vsako celico v razponu:

Za vsako celico v dosegu - Če

1234567891011121314 Sub If_Loop ()Zatemni celico kot obsegZa vsako celico v razponu ("A2: A6")Če je Cell.Value> 0, potemCell.Offset (0, 1) .Value = "Pozitivno"ElseIf Cell.Value <0 PotemCell.Offset (0, 1) .Value = "Negativno"Sicer paCell.Offset (0, 1) .Value = "Nič"Konec ČeNaslednja celicaEnd Sub

Za vsak skupni primer

Zaprite vse delovne zvezke

Ta postopek zapre vse odprte delovne zvezke in shrani spremembe.

123456789 Sub CloseAllWorkbooks ()Dim wb Kot delovni zvezekZa vsako wb v delovnih zvezkihwb.Close SaveChanges: = TrueNaslednja wbEnd Sub

Skrij vse liste

Ta postopek bo skril vse delovne liste.

12345678 Sub HideAllSheets ()Zatemni kot delovni listZa vsako ws v listihws.Visible = xlSheetHiddenNaslednji wsEnd Sub

Razkrij vse liste

Ta postopek bo razkril vse delovne liste.

12345678 Sub UnhideAllSheets ()Zatemni kot delovni listZa vsako ws v listihws.Visible = xlSheetVisibleNaslednji wsEnd Sub

Zaščitite vse liste

Ta postopek bo zaščitil vse delovne liste.

12345678 Sub ProtectAllSheets ()Zatemni kot delovni listZa vsako ws v listihws.Zaščitite geslo: = "…"Naslednji wsEnd Sub

Odstranite zaščito vseh listov

Ta postopek bo odstranil zaščito z vseh delovnih listov.

12345678 Sub UnprotectAllSheets ()Zatemni kot delovni listZa vsako ws v listihws.Unprotect Password: = "…"Naslednji wsEnd Sub

Izbriši vse oblike na vseh delovnih listih

Ta postopek bo izbrisal vse oblike v delovnem zvezku.

123456789101112 Sub DeleteAllShapesOnAllWorksheets ()Zatemni list kot delovni listZatemni Shp kot oblikoZa vsako ws v listihZa vsako shp v ws. OblikeShp.DeleteNaprej ShpNaslednji wsEnd Sub

Osvežite vse vrtilne tabele

Ta postopek bo osvežil vse vrtilne tabele na listu.

12345678 Sub RefreshAllPivotTables ()Zatemni pvt kot vrtilno tabeloZa vsak pvt v listih ("List1"). Vrtilne tabelepvt.RefreshTableNaslednji pvtEnd Sub

Uporaba za vsakega v Accessu VBA

Zanka For Every deluje v Access VBA enako kot v Excelu VBA. Naslednji primer bo odstranil vse tabele v trenutni zbirki podatkov.

123456789 Sub RemoveAllTables ()Zatemni tdf kot TableDefZatemni dbs kot bazo podatkovNastavite dbs = CurrentDbZa vsak tdf V dbs.TableDefsDoCmd.DeleteObject tdf.NameZankaNastavi dbs = ničEnd Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave