See õpetus näitab teile näiteid iga silmuse kohta VBA -s. Ahelate kohta üldiselt lisateabe saamiseks klõpsake siin.
Iga silmuse jaoks
Iga silmuse jaoks saate läbi vaadata iga objekt kollektsioonis:
- Kõik lahtrid vahemikus
- Kõik töölehed töövihikus
- Kõik avatud töövihikud
- Kõik kujundid töölehel
- Kõik üksused massiivis
- ja veel!
Igaühe jaoks: põhinäited
Need näited näitavad, kuidas seadistada iga silmuse jaoks erinevat tüüpi objekte.
Silmus läbi rakkude
See protseduur läbib iga lahtri vahemikus A1: A10, seades lahtri endaga võrdseks.
12345678 | Alamjaotise jaoks ()Dim Cell kui vahemikLehtede iga lahtri jaoks ("Sheet1"). Vahemik ("A1: A10")Lahtri nihe (0, 1). Väärtus = lahtri väärtusJärgmine lahterEnd Sub |
Lehtede kordamine
See protseduur läbib töövihiku iga lehe, avades iga lehe peitmise.
12345678 | Sub ForEachSheets ()Dim ws töölehenaArvutustabelite iga nädala jaoksws.Visible = TõsiJärgmine lehtEnd Sub |
Korda töövihikuid
See protseduur läbib iga töövihiku, sulgedes igaüks neist.
12345678 | Alamtööraamatud ()Dim wb TöövihikunaIga wb kohta töövihikuteswb. SuleJärgmine wbEnd Sub |
Loop kaudu kujundeid
See protseduur kordab kõiki lehe 1 kujundeid, kustutades igaüks neist.
12345678 | Sub ForEachShape ()Dim Shp kui kujuIga Shp In Sheets ("Sheet1"). KujudShp. KustutaJärgmine ShpEnd Sub |
Loop kaudu diagramme
See protseduur läbib lehe 1 kõiki diagramme, kustutades kõik.
12345678 | Igale diagrammile ()Dim cht Nagu ChartObjectArvutustabelite iga cht ("Sheet1"). ChartObjectscht. KustutaJärgmine chtEnd Sub |
Pöördtabelite läbimine
See protseduur läbib kõiki lehe 1 PivotTable -liigendtabeleid, kustutades igaüks neist
12345678 | Igale PivotTable -liigendtabelile ()Dim pvt PivotTable -liigendtabelinaIga arvutustabelite jaoks ("Sheet1"). PivotTable -liigendtabelidpvt. Selge tabelJärgmine pvtEnd Sub |
Sirvige tabeleid
See protseduur läbib lehe 1 kõiki tabeleid, kustutades iga tabeli.
12345678 | Sub ForEachTables ()Dim tbl ListObjectinaArvutustabelite iga tbl ("Sheet1"). ListObjectstbl. KustutaJärgmine tblEnd Sub |
Silmast läbi üksused
See protseduur läbib massiivi iga üksuse, kuvab iga väärtuse sõnumikastis,
12345678910 | Sub ForEachItemInArray ()Dim arrValue VariantinaDim Toode variandinaarrValue = Massiiv ("Üksus 1", "Üksus 2", "Üksus 3")Iga üksuse jaoks ArVäärtusMsgBoxi üksusJärgmine kaupEnd Sub |
Silmus läbi numbrite
See protseduur läbib massiivi iga numbri, kuvab iga väärtuse sõnumikastis,
12345678910111213 | Sub ForEachNumberInNumbers ()Dim arrNumber (1 kuni 3) täisarvunaDim number VariandinaarrNumber (1) = 10arrNumber (2) = 20arrNumber (3) = 30Iga numbri jaoks arrNumberMsgboxi numberJärgmine numberEnd Sub |
Iga silmuseehitaja jaoks
Selle artikli näited koostati koos Silmuseehitaja meie VBA lisandmoodul: AutoMacro.
The Silmuseehitaja muudab objektide sirvimiseks koodi genereerimise väga lihtsaks. AutoMacro sisaldab ka palju muud Koodigeneraatorid, ulatuslik Kooditeek, ja võimas Kodeerimisvahendid.
Igaühe jaoks - kui
Loopides olevate If -avalduste abil saate kontrollida, kas objektid vastavad teatud kriteeriumidele, sooritades toiminguid ainult nende objektide jaoks, mis kriteeriumidele vastavad. Siin on näide vahemiku iga lahtri läbimise kohta:
Iga vahemiku lahtri kohta - kui
1234567891011121314 | Alam If_Loop ()Dim Cell kui vahemikIga vahemiku lahtri kohta ("A2: A6")Kui Cell.Value> 0 SiisLahter.Nihke (0, 1) .Väärtus = "Positiivne"Muul juhul, kui Cell.Value <0 SiisLahter.Nihke (0, 1) .Väärtus = "Negatiivne"MuiduLahter.Nihke (0, 1) .Väärtus = "Null"Lõpp KuiJärgmine lahterEnd Sub |
Iga tavalise näite kohta
Sulgege kõik töövihikud
See protseduur sulgeb kõik avatud töövihikud, salvestades muudatused.
123456789 | Alam Sulge Kõik töövihikud ()Dim wb TöövihikunaIga wb kohta töövihikuteswb. Sulge SaveChanges: = TõsiJärgmine wbEnd Sub |
Peida kõik lehed
See protseduur peidab kõik töölehed.
12345678 | Alampeida kõik lehed ()Dim ws töölehenaArvutustabelite iga nädala jaoksws.Visible = xlSheetHiddenJärgmine wsEnd Sub |
Näita kõiki lehti
See protseduur kuvab kõik töölehed peidetud.
12345678 | Sub UnhideAllSheets ()Dim ws töölehenaArvutustabelite iga nädala jaoksws.Visible = xlSheetVisibleJärgmine wsEnd Sub |
Kaitske kõiki lehti
See protseduur kaitseb kõiki töölehti.
12345678 | Sub ProtectAllSheets ()Dim ws töölehenaArvutustabelite iga nädala jaoksws.Protect Parool: = "…"Järgmine wsEnd Sub |
Tühista kõigi lehtede kaitse
See protseduur tühistab kõigi töölehtede kaitse.
12345678 | AlamkatkestusAllSheets ()Dim ws töölehenaArvutustabelite iga nädala jaoksws.Unprotect Password: = "…"Järgmine wsEnd Sub |
Kustuta kõik kujundid kõikidelt töölehtedelt
See protseduur kustutab kõik töövihiku kujundid.
123456789101112 | Sub DeleteAllShapesOnAllWorksheets ()Tume leht töölehenaDim Shp kui kujuArvutustabelite iga nädala jaoksIga Shp jaoks ws. KujudShp. KustutaJärgmine ShpJärgmine wsEnd Sub |
Värskenda kõiki PivotTable -liigendtabeleid
See protseduur värskendab kõiki lehe PivotTable -liigendtabeleid.
12345678 | AlamvärskendusAllPivotTables ()Dim pvt PivotTable -liigendtabelinaIga arvutustabelite jaoks ("Sheet1"). PivotTable -liigendtabelidpvt.RefreshTableJärgmine pvtEnd Sub |
Kasutamine igaühele Access VBA -s
Iga silmuse jaoks töötab Access VBA -s samamoodi nagu Exceli VBA -s. Järgmine näide eemaldab kõik praeguse andmebaasi tabelid.
123456789 | Sub RemoveAllTables ()Dim tdf Nagu TableDefDim dbs andmebaasinaMäära dbs = CurrentDbIga tdf jaoks dbs.TableDefsDoCmd.DeleteObject tdf.NameLoopMäära dbs = mitte midagiEnd Sub |