Excel VBA jokaiselle silmukalle

"Jokaista" avainsanaa käytetään VBA: ssa yhdessä "For" -toiminnon kanssa. Se tarkoittaa, että jokaisessa taulukon tai alueen yksikössä toistetaan prosessi silmukalle. Periaatteessa emme syötä askelaluetta eli 1 - 5 tai 1 - 10, sen sijaan laitamme sen vain alla olevan syntaksin osoittamalla tavalla.

Syntaksi:

Jokaiselle alueella olevalle objektinimelle

Huomaa: Excel-taulukossa on oltava Kehittäjä-välilehti.

Jos et näe “Kehittäjä” -välilehteä excelissä, katso alla olevat vaiheet.

Vaihe 1: Napsauta File Option.

Vaihe 2: Pudotusvalikko tulee näkyviin, napsauta Asetukset- välilehteä.

Vaihe 3: Kun olet napsauttanut ”Asetukset”, näyttöön tulee valintaikkuna alla olevan kuvan mukaisesti ja napsauta Mukauta nauha -vaihtoehtoa.

Vaihe 4: Kun vetämme alas räätälöityjen nauha-asetusten kanssa, löydämme vaihtoehdon Kehittäjälle, meidän on valittava tämä ruutu, joka antaa meille mahdollisuuden käyttää VBA: ta excelissä.

Kuinka käyttää kutakin silmukkaa VBA: ssa?

Alla on erilaisia ​​esimerkkejä, joita käytetään jokaiselle silmukalle Excelissä VBA-koodilla.

Voit ladata tämän VBA: n jokaiselle Loop Excel -mallille täältä - VBA jokaiselle Loop Excel -mallille

Excel VBA jokaiselle silmukalle - esimerkki # 1

Otetaan yksinkertainen esimerkki jokaisesta silmukasta VBA: ssa. Oletetaan, että alla on VBA: n datajoukko.

Noudata alla olevia vaiheita käyttääksesi kutakin silmukkaa Excel VBA: ssa.

Vaihe 1: Napsauta ”Kehittäjä” -välilehteä ja napsauta sitten vasemmalla puolella olevaa ”Visual Basic” -vaihtoehtoa (ensimmäinen vaihtoehto) alla olevan kuvan mukaisesti.

Kun napsautat sitä, uusi ikkuna tulee näkyviin kuten alla.

Huomaat, että se sisältää kaksi vasemmalla puolella olevaa välilehteä, ”Sheet1 (Sheet1)” ja “ThisWorkbook”. Ainoa ero on ”Sheet1”, kun haluat suorittaa koodin vain tälle arkille ja “ThisWorkbook” -kansioon voimme kirjoittaa koodin ja suorittaa koodin, jota voidaan soveltaa koko excel-työkirjaan.

Vaihe 2: Kaksoisnapsauta Sheet1 (Sheet1) ja näet tyhjän ruudun, johon meidän on kirjoitettava koodi. Anna nimi luodulle alajoukolle. Täällä olemme antaneet nimen “Sub For_Each_Ex1 ()” alla olevan kuvakaappauksen mukaisesti.

Koodi:

 Sub For_Each_Ex1 () Loppu Sub 

Tällä tavalla luomme osajoukon, jolloin ”End Sub” tulee näkyviin automaattisesti. Tämä on oletuksena excel-ominaisuus. Jos ”End Sub” ei tule näkyviin, koodi ei suorita ja heittää virheen.

Vaihe 3: Ilmoitamme muuttujat alueena.

Koodi:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range End Sub 

Tässä olemme ilmoittaneet kaksi muuttujaa, “Ansaitse”, jota käytämme jokaiselle ja “Alue1” tietojoukon alueena.

Vaihe 4: Korjaa nyt alue eli tietoalue, johon meidän on työskenneltävä käyttämällä avainsanaa "Set", kuten alla on esitetty.

Koodi:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") End Sub 

Täällä korjattiin “Alue1” alueiden soluista A1 arvoon A10, mikä on tietojoukko.

Vaihe 5: Suoritamme nyt silmukkaa käyttämällä jokaista avainsanaa.

Koodi:

 Sub For_Each_Ex1 () himmennetty ansainta, alue1 asteikolla asetettu alue1 = alue ("A1: A10") jokaiselle alueella1 ansaitsemalle loppualalle 

Täällä ansaitsee jokaiselle alueella olevalle arvolle arvon, joka määritetään sillä, että silmukka suoritetaan vaihe vaiheelta.

Vaihe 6: Käytämme nyt "Msgbox" -sanaa avataksesi jokaisen rivin merkinnän osoitetulla alueella.

Koodi:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") Jokaiselle alueella1 ansaitavalle MsgBox Earn.Value End Sub 

Tässä ”Earn.value” näyttää arvon solussa, ts. Alkaen alueen ensimmäisestä solusta.

Vaihe 7: Nyt haluamme suorittaa seuraavan arvon annetulla solualueella, joten koodissa on käytettävä Seuraava-avainsanaa. Tämä auttaa etenemään edelleen alueella ja näyttämään jokaisen yksikön solualueella yksi kerrallaan.

Koodi:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") Jokaiselle alueella1 ansaitavalle MsgBox Earn.Value Next Earn End Sub 

Vaihe 8: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Tällä hetkellä, kun ”Next Earn” -koodirivi suoritetaan, “Earn.value” määritetään seuraavalla solun arvolla alueella. Yksitellen napsauttamalla “OK” ja näyttää kunkin alueen arvon, kunnes arvoalue on valmis.

Excel VBA jokaiselle silmukalle - esimerkki 2

Otetaan toinen esimerkki, jossa esitetään kunkin arkin nimi Excel-tiedostossa. Oletetaan, että meillä on Excel-tiedostossa alla nimeltään arkkeja:

Kun huomaat, että excel-tiedostossa on noin 5 arkkia, ja meidän on näytettävä kunkin nimi yksitellen.

Me kirjoitamme ja suoritamme koodin ”ThisWorkbook” -osaan, kuten alla olevassa punaisessa ruudussa korostetaan:

Kaksoisnapsauta sitä ja kun ikkunaruutu tulee näkyviin, ja aloita koodin kirjoittaminen siihen. Noudata seuraavia vaiheita käyttääksesi Excel VBA: n kutakin silmukkaa:

Vaihe 1: Me kirjoitamme koodin antamalla alajoukon nimen alla olevan kuvan mukaisesti.

Koodi:

 Alisivunimi () End Sub 

Vaihe 2: Voimme myös aloittaa suoraan For-silmukkalausunnon kirjoittamisen ilmoittamatta muuttujaa alla esitetyllä tavalla.

Koodi:

 Ali-sivunimi () jokaiselle hakemistolle 

Tässä "sht" on muuttujamme1, joka ilmoitetaan oletuksena ja “Application.sheets” tarkoittaa, että tiedostossa on otettava huomioon kaikki arkit. Application.fucntion määrittelee, että voimme lisätä minkä tahansa ominaisuuden tai toiminnon tai excel-työkalun, joka otetaan huomioon koodia suoritettaessa.

Vaihe 3: Nyt annamme viestiruudun syntaksin ja lisäämme sen kanssa syntaksin näyttönimen näyttöön seuraavasti:

Koodi:

 Alisivunimi () jokaiselle sovelluksen sht: lle. MsgBox "Arkin nimi on:" & sht.Name End Sub 

Täällä lause, jonka haluaisimme näyttää, on ”Arkin nimi on:” ja kirjoitamme sitten ampersand (&), joka yhdistää koodirivin, ja kirjoitamme sitten “sht.Name”, ts. Se valitsee arkin ensimmäisestä arkki ja näytä nimi.

Vaihe 4: Nyt meidän on toistettava prosessi kunkin arkin nimen näyttämiseksi. Käytämme siis ”Next sht” seuraavan kuvan mukaisesti:

Koodi:

 Alisivunimi () jokaiselle sovelluksen sht: lle. MsgBox "Arkin nimi on:" & sht.Name Seuraava sht End Sub 

”Seuraava sht” ilmoittaa järjestelmälle, että harkitse seuraavaa arkkia ja näytä sen nimi jatkoa suoritettavaksi.

Vaihe 6: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Kun napsautat ”OK” ja koodi suoritetaan edelleen, se näyttää seuraavan arkin nimen. Koodi suoritetaan, kunnes uusia arkkeja ei ole näytöllä.

Excel VBA jokaiselle silmukalle - esimerkki 3

Otetaan nyt esimerkki, jossa meidän on laskettava yhteen tietyn tietosarjan tai taulukon arvot. Oletetaan, että alla on datajoukko :.

Noudata seuraavia vaiheita käyttääksesi Excel VBA: n kutakin silmukkaa:

Vaihe 1: Ilmoita ensin alajoukon nimi ”eachadd ()” alla olevan kuvan mukaisesti.

Koodi:

 Sub eachadd () Loppu Sub 

Vaihe 2: Nyt ilmoitamme tarvittavat muuttujat, yhtenä kokonaislukuna nimeltään ”kokonaisluku”, jossa summaamme yhteen solun arvot yksi kerrallaan ja vahvistetaan solualue, joka sisältää lisättävät arvot.

Koodi:

 Sub eachadd () Himmennys kokonaisuudessaan Kokonaisluku Himmennetty alue1 Kuten alue lopussa Sub 

Vaihe 3: Muuttujan ja alueen ilmoittamisen jälkeen meidän on korjattava silmukkaan käytettävä alue. Korjaamme tämän alueen A1 - A10-soluihin käyttämällä avainsanaa "Set" seuraavan kuvan mukaisesti:

Koodi:

 Sub eachadd () Himmennys kokonaisuudessaan Kokonaisluku Himmennetty alue1 Asteikkona Asetettu alue1 = Alue ("A1: A10") Loppu Sub 

Vaihe 4: Voimme nyt suoraan alkaa käyttää For loop -toimintoa ja julistaa muuttujan suoraan. Käytämme tässä muuttujana ”add1” ja järjestelmä ilmoittaa sen oletuksena.

Koodi:

 Sub eachadd () Himmennys kokonaisuudessaan Kokonaisluku Himmennetty alue1 Asteikolla Asetettu alue1 = Alue ("A1: A10") jokaiselle add1: lle alueella1 loppuun ala-alueelle 

Vaihe 5: Lisää kunkin alueen yksikkö yksitellen muuttujaksi, joka julistetaan ”kokonaiseksi”. Oletusarvon mukaan kokonaismäärän arvo on aluksi nolla. Ja meidän on lisättävä yksi kerrallaan solujen arvo ja taas tämä summa on lisättävä uudelleen ”yhteensä”.

Koodi:

 Sub eachadd () Himmennys yhteensä As Kokonaisluku Himmenvä alue1 As Range Set Range1 = Range ("A1: A10") Jokaiselle add1 alueella 11 yhteensä = yhteensä + add1.Value End Sub 

Yllä oleva lause suoritetaan oikealta vasemmalle, ts. “Add1.value” on ensimmäinen solun arvo ja lisää se arvoon “total”, joka on nolla. Siten summa olisi 0 + 1, joka on 1. Ja summa 1 olisi "kokonaismäärä" ennen "=" -merkkiä. Tämä on etu, koska kaava suorittaa vasemmalta oikealle.

Vaihe 6: Lisää nyt ”Next add1”, joka auttaa nyt harkitsemaan data-alueen seuraavaa solun arvoa, ja lisää tämä arvo “total” -muuttujaan, kuten alla.

Koodi:

 Sub eachadd () Himmennys yhteensä As Kokonaisluku Himmennetty alue1 As Alue Asetettu alue1 = Alue ("A1: A10") jokaiselle add1 alueelle1 yhteensä = yhteensä + add1.Value Seuraava add1 End Sub 

Vaihe 6: Paina “F8” ajaaksesi koodi jokaisella rivillä. Näemme myös ”yhteensä” -arvon alla olevassa kuvakaappauksessa.

Samoin, kunnes solualue pääsee yli, silmukka jatkaa tämän taulukon summan suorittamista.

Vaihe 7: Käytämme nyt ”Msgbox” -sanaa.

Koodi:

 Sub eachadd () Himmennys kokonaisuudessaan Kokonaisluku Himmennetty alue1 Asteikolla Asetettu alue1 = Alue ("A1: A10") Jokaiselle add1: lle alueella1 yhteensä = yhteensä + add1.Value Seuraava add1 MsgBox "Lopullinen summaus:" & yhteensä End Sub 

Vaihe 8: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Muistettavat asiat

  • "Jokaista" avainsanaa käytetään suurimman osan ajasta vain, jos käytetään vain VBA For Loop -toimintoa. Muuta, sillä on rajoitettu käyttö excel VBA: ssa.
  • "Jokaisen" avainsanan etuna on vain se, että meillä ei ole "For" -lauselmassa ilmoitettuja vaiheita kuten 1 - x .

Suositellut artikkelit

Tämä on opas jokaisen silmukan VBA: han. Tässä keskustellaan siitä, kuinka jokaista silmukkaa voidaan käyttää Excelissä käyttämällä VBA-koodia, sekä käytännön esimerkkejä ja ladattavaa Excel-mallia. Alla on joitain hyödyllisiä VBA-artikkeleita -

  1. VBA Tee silmukka
  2. Sarakkeiden vaihtaminen Excelissä
  3. VBA-tauko Loopille
  4. Laske nimet Excelissä
  5. Kuinka suorittaa VBA-koodi?

Luokka: