VBA iga näite puhul (kiirviide)

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

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave