Tämä opetusohjelma näyttää esimerkkejä VBA: n For For Loop -sovelluksen käytöstä. Napsauta tätä saadaksesi lisätietoja silmukoista yleensä.
Jokaista silmukkaa varten
Jokaiselle silmukalle voit kiertää läpi jokainen esine kokoelmassa:
- Kaikki solut alueella
- Kaikki laskentataulukot työkirjassa
- Kaikki avoimet työkirjat
- Kaikki muodot laskentataulukossa
- Kaikki taulukon kohteet
- ja enemmän!
Jokaiselle: Perusesimerkkejä
Nämä esimerkit osoittavat, miten kukin silmukka voidaan asettaa erilaisten objektien läpi.
Silmukka solujen läpi
Tämä toimenpide kiertää jokaisen solun alueella A1: A10, asettamalla solun oikeaksi itseään vastaavaksi.
12345678 | Sub ForEcCell ()Dim -solun alueJokaiselle taulukon solulle ("Sheet1"). Alue ("A1: A10")Solun siirtymä (0, 1). Arvo = Solun arvoSeuraava soluEnd Sub |
Kierrä arkkeja läpi
Tämä toimenpide kiertää työkirjan jokaisen taulukon läpi, jolloin kaikki arkit näkyvät.
12345678 | Sub ForEachSheets ()Dim ws laskentataulukkonaJokaiselle arkillews.Visible = TottaSeuraava arkkiEnd Sub |
Selaa työkirjoja
Tämä toimenpide kiertää jokaisen työkirjan läpi ja sulkee jokaisen työkirjan.
12345678 | Osa jokaiselle työkirjalle ()Dim wb TyökirjanaJokaiselle wb: lle työkirjoissawb.SuljeSeuraava wbEnd Sub |
Kierrä muodot läpi
Tämä toimenpide kiertää kaikki taulukon 1 muodot ja poistaa ne.
12345678 | Sub ForEachShape ()Dim Shp kuin muotoJokaiselle Shep In Sheetsille ("Sheet1")Shp. PoistaSeuraava ShpEnd Sub |
Selaa kaavioita
Tämä toimenpide kiertää jokaisen taulukon taulukon 1 ja poistaa kaikki.
12345678 | OsatKaikki kaaviot ()Dim cht Kuten ChartObjectJokaiselle taulukolle ("Sheet1"). ChartObjectscht.DeleteSeuraava chtEnd Sub |
Kierrä pivot -taulukot läpi
Tämä toimenpide kiertää kaikki taulukon 1 pivot -taulukot ja tyhjentää ne
12345678 | Kunkin pivot -taulukon alaosa ()Dim pvt Pivot -taulukkonaJokaiselle laskentataulukoiden pvt: lle ("Sheet1"). Pivot -taulukotpvt.ClearTableSeuraava pvtEnd Sub |
Kierrä taulukot läpi
Tämä toimenpide kiertää jokaisen taulukon taulukossa 1 ja poistaa kaikki.
12345678 | Osa jokaiselle taulukolle ()Dim tbl ListObjectinaJokaiselle taulukolle ("Sheet1"). ListObjectstbl.PoistaSeuraava tblEnd Sub |
Kierrä kohteet matriisin läpi
Tämä toimenpide kiertää jokaisen taulukon kohteen läpi, näyttää jokaisen arvon viestilaatikossa,
12345678910 | Sub ForEachItemInArray ()Dim arrValue VaihtoehtonaDim Item VariantarrValue = Array ("Tuote 1", "Kohde 2", "Kohta 3")Jokaiselle kohteelle In arrValueMsgBox -kohdeSeuraava kohdeEnd Sub |
Kierrä numerot läpi
Tämä toimenpide kiertää jokaisen taulukon numeron läpi, näyttää jokaisen arvon viestilaatikossa,
12345678910111213 | Sub ForEachNumberInNumbers ()Dim arrNumber (1 - 3) kokonaislukunaDim num VarianttinaarrNumber (1) = 10arrNumber (2) = 20arrNumber (3) = 30Jokaista numeroa varten arrNumberMsgbox NumSeuraava numeroEnd Sub |
Jokaiselle silmukanrakentajalle
Tämän artikkelin esimerkit on rakennettu Silmukkarakentaja meidän VBA-lisäosa: AutoMacro.
The Silmukkarakentaja on erittäin helppoa luoda koodia silmukoiden kiertämiseksi. AutoMacro sisältää myös monia muita Koodigeneraattorit, laaja Koodikirjasto, ja voimakas Koodaustyökalut.
Jokaiselle - Jos
Voit myös käyttää If -lausekkeita silmukoissa testataksesi, täyttävätkö objektit tietyt ehdot, ja suoritat vain toimintoja kohteille, jotka täyttävät ehdot. Tässä on esimerkki silmukan toistamisesta alueen jokaisesta solusta:
Jokaiselle alueen solulle - Jos
1234567891011121314 | Sub If_Loop ()Dim -solu alueenaJokaiselle alueen solulle ("A2: A6")Jos solun arvo> 0 SittenSolu.Siirto (0, 1) .Value = "Positiivinen"ElseIf Solun arvo <0 SittenSolu.Poikkeama (0, 1) .Value = "Negatiivinen"MuuCell.Offset (0, 1) .Value = "Nolla"Loppu JosSeuraava soluEnd Sub |
Jokaiselle yleiselle esimerkille
Sulje kaikki työkirjat
Tämä toimenpide sulkee kaikki avoimet työkirjat ja tallentaa muutokset.
123456789 | Ala SuljeKaikkiTyökirjat ()Dim wb TyökirjanaJokaiselle wb: lle työkirjoissawb.Sulje SaveChanges: = TottaSeuraava wbEnd Sub |
Piilota kaikki taulukot
Tämä menettely piilottaa kaikki laskentataulukot.
12345678 | AlipiilotaKaikki taulukot ()Dim ws laskentataulukkonaJokaiselle arkillews.Visible = xlSheetHiddenSeuraava wsEnd Sub |
Näytä kaikki taulukot
Tämä menettely näyttää kaikki laskentataulukot.
12345678 | Ala Näytä kaikkiAllSheets ()Dim ws laskentataulukkonaJokaiselle arkillews.Visible = xlSheetVisibleSeuraava wsEnd Sub |
Suojaa kaikki arkit
Tämä menettely suojaa kaikki laskentataulukot.
12345678 | Sub ProtectAllSheets ()Dim ws laskentataulukkonaJokaiselle arkillews.Protect Password: = "…"Seuraava wsEnd Sub |
Poista kaikkien arkkien suojaus
Tämä toimenpide poistaa kaikkien laskentataulukoiden suojauksen.
12345678 | Osa UnprotectAllSheets ()Dim ws laskentataulukkonaJokaiselle arkillews.Unprotect Password: = "…"Seuraava wsEnd Sub |
Poista kaikki muodot kaikista laskentataulukoista
Tämä toimenpide poistaa kaikki työkirjan muodot.
123456789101112 | Sub DeleteAllShapesOnAllWorksheets ()Himmennä arkki laskentataulukkonaDim Shp kuin muotoJokaiselle arkilleJokaiselle Shp In ws.ShapesShp. PoistaSeuraava ShpSeuraava wsEnd Sub |
Päivitä kaikki pivot -taulukot
Tämä toimenpide päivittää kaikki taulukon pivot -taulukot.
12345678 | AlivirkkausKaikkiPivot -taulukot ()Dim pvt pivot -taulukkonaJokaiselle Sheets -sivulle ("Sheet1"). Pivot -taulukotpvt.RefreshTableSeuraava pvtEnd Sub |
Käyttö jokaiselle Access VBA: ssa
Jokaiselle silmukalle toimii samalla tavalla Access VBA: ssa kuin Excel VBA: ssa. Seuraava esimerkki poistaa kaikki nykyisen tietokannan taulukot.
123456789 | Osa Poista kaikki taulukot ()Dim tdf Kuten TableDefDim dbs TietokannanaAseta dbs = CurrentDbJokaiselle tdf: lle dbs.TableDefsDoCmd.DeleteObject tdf.NameSilmukkaAseta dbs = ei mitäänEnd Sub |