VBA za svaki primjer (kratka referenca)

Ovaj će vam vodič pokazati primjere korištenja For Every Loop u VBA. Kliknite ovdje da biste općenito saznali više o petljama.

Za svaku petlju

For Every Loop omogućuje vam petlju svaki objekt u zbirci:

  • Sve ćelije u rasponu
  • Svi radni listovi u radnoj bilježnici
  • Sve otvorene radne bilježnice
  • Svi oblici na radnom listu
  • Sve stavke u nizu
  • i više!

Za svaki: Osnovni primjeri

Ovi primjeri pokazat će kako postaviti Za svaku petlju petlju kroz različite vrste objekata.

Petlja kroz ćelije

Ovaj postupak će prolaziti kroz svaku ćeliju u rasponu A1: A10, postavljajući ćeliju na pravo jednaku samoj sebi.

12345678 Sub ForEachCell ()Dim Cell As RangeZa svaku ćeliju u listovima ("List 1"). Raspon ("A1: A10")Cell.Offset (0, 1) .value = Cell.valueSljedeća ćelijaKraj podm

Petlje kroz listove

Ovaj postupak će proći kroz svaki list u radnoj knjizi, otkrivajući svaki list.

12345678 Pod ForEachSheets ()Zatamni kao radni listZa svaki ws u listovimaws.Visible = IstinaSljedeći listKraj podm

Prođite kroz radne sveske

Ovaj postupak će proći kroz svaku radnu knjigu, zatvarajući svaku.

12345678 Sub ForEachWorkbooks ()Dim wb Kao radna bilježnicaZa svaku wb u radnim bilježnicamawb.ZatvoriSljedeća wbKraj podm

Petlje kroz oblike

Ovaj postupak će proći kroz svaki oblik u Sheet1, brišući svaki.

12345678 Sub ForEachShape ()Dim Shp kao oblikZa svaki Shp In Sheets ("Sheet1"). ObliciShp.DeleteSljedeći ShpKraj podm

Petlje kroz grafikone

Ovaj postupak će proći kroz svaki grafikon u Sheet1, brišući svaki.

12345678 Pod ForEachCharts ()Zatamni kao ChartObjectZa svaki cht In Sheets ("Sheet1"). ChartObjectscht.BrisatiSljedeće poglKraj podm

Prolaz kroz zaokretne tablice

Ovaj postupak će proći kroz svaku zaokretnu tablicu u Sheet1, brišeći svaku

12345678 Pod ForEachPivotTables ()Zatamni pvt kao zaokretnu tablicuZa svaki pvt u tablicama ("List1"). Zaokretne tablicepvt.ClearTableSljedeći pvtKraj podm

Petlje kroz tablice

Ovaj postupak će proći kroz svaku tablicu u listu 1, brišeći svaku.

12345678 Pod ForEachTables ()Dim tbl Kao ListObjectZa svaki tbl In Sheets ("Sheet1"). ListObjectstbl.BrisatiSljedeći tblKraj podm

Petlje kroz stavke u nizu

Ovaj postupak će proći kroz svaku stavku u nizu, prikazati svaku vrijednost u okviru za poruke,

12345678910 Sub ForEachItemInArray ()Dim arrValue As VariantPriguši stavku kao varijantuarrValue = Polje ("Stavka 1", "Stavka 2", "Stavka 3")Za svaku stavku u arrValueStavka msgBoxSljedeća stavkaKraj podm

Petlja kroz brojeve

Ovaj postupak će proći kroz svaki broj u nizu, prikazati svaku vrijednost u okviru za poruke,

12345678910111213 Pod ForEachNumberInNumbers ()Dim arrNumber (1 To 3) As IntegerDim num As VariantarrNumber (1) = 10arrNumber (2) = 20arrNumber (3) = 30Za svaki broj U arrNumberMsgbox No.Sljedeći brojKraj podm

Za svakog graditelja petlji

Primjeri u ovom članku izgrađeni su pomoću Loop Builder u našem VBA dodatak: AutoMacro.

The Loop Builder čini vrlo lakim generiranje koda za prolaz kroz objekte. AutoMacro sadrži i mnoge druge Generatori kodova, opsežan Knjižnica kodova, i moćan Alati za kodiranje.

Za svaku - Ako

Također možete koristiti If naredbe unutar petlji za testiranje zadovoljavaju li objekti određene kriterije, samo izvođenje radnji na onim objektima koji zadovoljavaju kriterije. Evo primjera petlje kroz svaku ćeliju u rasponu:

Za svaku stanicu u rasponu - Ako

1234567891011121314 Sub If_Loop ()Prigušena ćelija kao rasponZa svaku ćeliju u rasponu ("A2: A6")Ako je Cell.Value> 0 TadaCell.Offset (0, 1) .Value = "Pozitivno"Ostala ćelija.Vrijednost <0 ZatimCell.Offset (0, 1) .Value = "Negativno"DrugoCell.Offset (0, 1) .Value = "Nula"Završi akoSljedeća ćelijaKraj podm

Za svaki uobičajeni primjer

Zatvorite sve radne knjige

Ovaj postupak će zatvoriti sve otvorene radne knjige i spremiti promjene.

123456789 Sub CloseAllWorkbooks ()Dim wb Kao radna bilježnicaZa svaku wb u radnim bilježnicamawb.Zatvori Spremi promjene: = IstinaSljedeća wbKraj podm

Sakrij sve tablice

Ovaj postupak će sakriti sve radne listove.

12345678 Sub HideAllSheets ()Zatamni kao radni listZa svaki ws u listovimaws.Visible = xlSheetHiddenSljedeći wsKraj podm

Otkrij sve tablice

Ovaj postupak će otkriti sve radne listove.

12345678 Sub UnhideAllSheets ()Zatamni kao radni listZa svaki ws u listovimaws.Visible = xlSheetVisibleSljedeći wsKraj podm

Zaštitite sve listove

Ovaj postupak će zaštititi sve radne listove.

12345678 Sub ProtectAllSheets ()Zatamni kao radni listZa svaki ws u listovimaws.Zaštita lozinke: = "…"Sljedeći wsKraj podm

Uklonite zaštitu sa svih tablica

Ovaj postupak će ukloniti zaštitu sa svih radnih listova.

12345678 Pod UnprotectAllSheets ()Zatamni kao radni listZa svaki ws u listovimaws.Unprotect Password: = "…"Sljedeći wsKraj podm

Izbriši sve oblike na svim radnim listovima

Ovim postupkom izbrisat će se svi oblici u radnoj knjizi.

123456789101112 PodizbrišiAllShapesOnAllWorksheets ()Zatamnjeni list kao radni listDim Shp kao oblikZa svaki ws u listovimaZa svaki Shp U ws.ShapesShp.DeleteSljedeći ShpSljedeći wsKraj podm

Osvježite sve zaokretne tablice

Ovaj postupak će osvježiti sve zaokretne tablice na listu.

12345678 Sub RefreshAllPivotTables ()Zatamni pvt kao zaokretnu tablicuZa svaki pvt u tablicama ("List1"). Zaokretne tablicepvt.Osvježi tablicuSljedeći pvtKraj podm

Korištenje za svakog u Accessu VBA

Petlja For Each funkcionira na isti način u programu Access VBA kao i u programu Excel VBA. Sljedeći primjer uklonit će sve tablice u trenutnoj bazi podataka.

123456789 Sub RemoveAllTables ()Dim tdf Kao TableDefDim dbs kao baza podatakaPostavite dbs = CurrentDbZa svaki tdf U dbs.TableDefsDoCmd.DeleteObject tdf.NamePetljaPostavite dbs = NištaKraj podm

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave