Excel VBA iga silmuse jaoks

VBA-s kasutatakse iga märksõna koos funktsiooniga „For”. See tähendab, et iga massiivi või vahemiku üksuse puhul korratakse protsessi silmuse jaoks. Põhimõtteliselt ei sisesta me astmevahemikku, st 1 kuni 5 või 1-10, selle asemel paneme selle lihtsalt vastavalt allpool toodud süntaksile.

Süntaks:

Iga levialas oleva objekti nime jaoks

Märkus . Exceli töölehel peab olema vahekaart Arendaja.

Kui te ei näe Excelis vahekaarti Arendaja, vaadake järgmisi samme.

1. samm: klõpsake faili suvandil.

2. samm: ilmub rippmenüü, klõpsake vahekaarti Valikud .

3. samm: kui olete klõpsanud valikul „Suvandid”, ilmub allpool näidatud dialoogiboks ja klõpsake suvandil Kohanda linti .

4. samm: kui lohistame kohandatud lindivalikud alla, leiame arendaja jaoks valiku, peame märkima selle ruudu, mis võimaldab meil VBA-d Excelis kasutada.

Kuidas kasutada VBAs iga silmuse jaoks?

Allpool on toodud erinevad näited, mida saate VBA-koodi abil Excelis iga silmuse jaoks kasutada.

Selle VBA iga silmuse Exceli malli saate alla laadida siit - iga silmuse Exceli malli VBA

Excel VBA iga silmuse jaoks - näide # 1

Võtame lihtsa näite iga silmuse kohta VBA-s. Oletame, et allpool on esitatud andmete kogum VBA-s.

Excel VBA iga silmuse jaoks kasutamiseks toimige järgmiselt.

1. samm: klõpsake vahekaarti Arendaja ja seejärel klõpsake vasakpoolsel küljel suvandit „Visual Basic” (esimene võimalus), nagu allpool näidatud.

Kui olete sellel klõpsanud, ilmub uus aken, nagu allpool näidatud.

Võite märgata, et see sisaldab vasakpoolsel küljel kahte vahekaarti: „Sheet1 (Sheet1)” ja „ThisWorkbook”. Ainus erinevus on “Sheet1”, kui soovite käivitada koodi ainult selle konkreetse lehe jaoks ja “ThisWorkbook” saame kirjutada koodi ja käivitada selle, mida saab rakendada kogu exceli töövihiku jaoks.

2. samm: tehke topeltklõps lehel Sheet1 (Sheet1) ja näete tühja ekraani, kuhu peame koodi kirjutama. Andke loodud alamhulgale nimi. Nagu alloleval ekraanipildil on näidatud, oleme siin andnud nime “Sub For_Each_Ex1 ()”.

Kood:

 Alam alam_Each_Ex1 () lõpp alam 

Nii loome alamhulga ja automaatselt kuvatakse „End Sub“. See on Exceli vaikimisi funktsioon. Kui “End Sub” ei ilmu, siis kood ei käivitu ja viskab vea.

3. samm: kuulutame muutujad vahemikuna.

Kood:

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

Siin on deklareeritud kaks muutujat, „Earn”, mida me kasutame igaühe jaoks ja „Range1” andmestiku vahemikuna.

4. samm: fikseerime allpool näidatud märksõna abil komplekti, st andmete vahemiku, mille kallal peame töötama.

Kood:

 Sub For_Each_Ex1 () Tuhm teenimine, Range1 As Range Set Range1 = Range ("A1: A10") End Sub 

Siin fikseerisime “Range1” vahemiku lahtritest A1 kuni A10, mis on meie andmekogum.

5. samm: käivitame nüüd märksõna jaoks silmuse, kasutades iga märksõna.

Kood:

 Sub For_Each_Ex1 () Hämar teenimine, Range1 As Range Set Range1 = Range ("A1: A10") iga teenitud vahemikus1 End Sub 

Siin saab Earn iga vahemiku väärtuse jaoks väärtuse, mis on määratud kui For loop saadakse samm-sammult.

6. samm: nüüd kasutame märksõna „Msgbox” iga rea ​​sisestuse kuvamiseks määratud vahemikus.

Kood:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") iga teenitud vahemikus1 teenitava teenuse jaoks MsgBox Earn.Value End Sub 

Siin “Earn.value” kuvatakse lahtris väärtus, st alates vahemiku esimesest lahtrist.

7. samm: Nüüd tahame käivitada järgmise väärtuse antud lahtrite vahemikus, seega peame koodis kasutama märksõna „Järgmine”. See aitab edasi liikuda vahemikus ja kuvada iga olemi lahtrite vahemikus ükshaaval.

Kood:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Range ("A1: A10") iga teenitud vahemikus1 teenitava teenuse jaoks MsgBox Earn.Value Next Earn End Sub 

8. samm: käivitage kood, vajutades nuppu F5 või nuppu Käivita, ja vaadake väljundit.

Koodirea „Järgmine teenimine” täitmise hetkel omistatakse „Earn.value” järgmisele lahtri väärtusele vahemikus. Ükshaaval klõps nupul „OK“ ja kuvatakse vahemikus iga väärtus, kuni väärtusvahemik on lõppenud.

Excel VBA iga silmuse jaoks - näide # 2

Võtame veel ühe näite, kus kuvame exceli failis iga lehe nime. Oletame, et meil on Exceli failis allpool nimetatud lehti:

Kuna märkame, et exceli failis on umbes 5 lehte ja peame kuvama igaühe nime ükshaaval.

Kirjutame ja täidame koodi jaotisesse SeeWorkbook, nagu on rõhutatud allolevas punases kastis:

Topeltklõpsake seda ja kui aknapaan ilmub, alustage koodi sisestamist. Excel VBA iga silmuse jaoks kasutamiseks toimige järgmiselt.

1. samm: kirjutame koodi, määrates alamhulga nime, nagu allpool näidatud.

Kood:

 Alamlehe nimi () End Sub 

2. samm: Samuti saame otse hakata kirjutama silmuse avaldust „For” ilma muutujat kuulutamata, nagu allpool näidatud.

Kood:

 Alamlehe nimi () iga rakenduse sht kohta.Sheets End Sub 

Siin on “sht” meie muutuja1, mis vaikimisi deklareeritakse ja “Application.sheets” tähendab, et failis tuleb arvestada kõigi lehtedega. Application.fucntion täpsustab, et me võime lisada mis tahes funktsiooni või funktsiooni või Exceli tööriista, mida tuleb koodi täitmisel arvesse võtta.

3. samm: sisestame nüüd sõnumikasti süntaksi ja koos sellega lisame süntaksi lehe kuvatavale nimele, nagu allpool näidatud:

Kood:

 Alamlehe nimi () iga rakenduse sht jaoks. MsgBox "Lehe nimi on:" & sht.Name End Sub 

Siin avaldus, mida me sooviksime kuvada, on “Lehe nimi on:” ja siis tippime ampersand (&), mis ühendab koodirea, ja kirjutame siis “sht.Name”, st see valib lehe alates esimesest lehel ja kuvage nimi.

4. samm: nüüd peame iga lehe nime kuvamist korrama. Seega kasutaksime alljärgnevat joonist „Järgmine sht“:

Kood:

 Alamlehe nimi () iga rakenduses oleva sht-i jaoks. MsgBox "Lehe nimi on:" & sht.Nimi Järgmine sht End Sub 

“Next sht” annab süsteemile teada, et kaaluge järgmist lehte ja kuvage selle nimi edasiseks täitmiseks.

6. samm: käivitage kood, vajutades nuppu F5 või nuppu Käivita, ja vaadake väljundit.

Kui klõpsate nuppu „OK” ja kood käivitub edasi, kuvatakse järgmine lehe nimi. Kood töötab seni, kuni ekraanil pole enam ühtegi uut lehte.

Excel VBA iga silmuse jaoks - näide nr 3

Võtame nüüd näite, kus peame summeerima kõik antud andmekogumi või massiivi väärtused. Oletame, et allpool on andmete kogum:.

Excel VBA iga silmuse jaoks kasutamiseks toimige järgmiselt.

1. samm: kuulutage kõigepealt alamhulga nimi kui „eachadd ()”, nagu allpool näidatud.

Kood:

 Sub eachadd () End Sub 

2. samm. Nüüd kuulutame vajalikud muutujad täisarvuna täisväärtusega, milles lahtrite väärtused ükshaaval kokku võetakse ja fikseeritakse lahtrite vahemik, mis sisaldab lisatavaid väärtusi.

Kood:

 Sub eachadd () Tühi kokku kui täisarv Tühim vahemik1 Nagu vahemik lõpp Sub 

3. samm: pärast muutuja ja vahemiku deklareerimist peame fikseerima ahela jaoks kasutatava vahemiku. Fikseerime selle vahemiku lahtritest A1 kuni A10, kasutades märksõna “Set”, nagu näidatud allpool:

Kood:

 Sub eachadd () Tühi kokku kui täisarv Tühim vahemik1 kui vahemik Määravahemik1 = vahemik ("A1: A10") Lõpp Sub 

4. samm. Nüüd saame otse hakata kasutama For loop'i funktsiooni ja kuulutada muutuja otse. Kasutame siin muutujana “add1” ja vaikimisi deklareerib see süsteemi.

Kood:

 Sub eachadd () Tühi kokku kui täisarv Tühim vahemik1 kui vahemik Määravahemik1 = vahemik ("A1: A10") Iga lisandmooduli1 vahemikus1 lõpp alam 

5. samm: lisage iga üksus vahemikus ükshaaval ja muutujasse, mis on kuulutatud kogusummaks. Vaikimisi on koguväärtuse väärtus null. Ja me peame lahtrite väärtuse ükshaaval lisama ja see summa tuleb jällegi lisada “kokku”.

Kood:

 Sub eachadd () Tühi kokku Nagu täisarv Tühim vahemik1 kui vahemik Määravahemik1 = vahemik ("A1: A10") Iga lisa1 kohta 1. vahemikus kokku = kokku + add1.Väärtus Lõpp Sub 

Ülaltoodud avaldust täidetakse paremalt vasakule, st “add1.value” on esimene lahtri väärtus ja lisage see väärtusele “total”, mis on null. Seega oleks summa 0 + 1, mis on 1. Ja see summa, kui 1, läheks tähe "=" ette "kokku", enne "=". See on eelis, kuna valem töötab vasakult paremale.

6. samm: lisage nüüd „Next add1”, mis aitab nüüd kaaluda andmevahemiku järgmist lahtri väärtust ja lisage see väärtus muutujasse „kokku”, nagu allpool näidatud.

Kood:

 Sub eachadd () Tühi kokku Nagu täisarv Tühim vahemik1 kui vahemik Määravahemik1 = vahemik ("A1: A10") Iga add1 kohta 1. vahemikus kokku = kokku + add1.Väärtus Järgmine add1 End Sub 

6. samm: koodi käivitamiseks iga rea ​​järgi vajutage nuppu „F8”. Samuti näeme allolevas ekraanipildis väärtust „kokku”.

Samamoodi, kuni lahtrite vahemik saab otsa, jätkab loop selle massiivi summa täitmist.

7. samm: nüüd kasutame märksõna „Msgbox”.

Kood:

 Sub eachadd () Tühi kokku Nagu täisarv Tühim vahemik1 kui vahemik Määravahemik1 = vahemik ("A1: A10") Iga lisandmooduli1 kohta vahemikus1 kokku = kokku + lisa1.Väärtus Järgmine lisa1 MsgBox "Lõplik kokkuvõte:" ja kogu lõpposa alamhulk 

8. samm: käivitage kood, vajutades nuppu F5 või nuppu Käivita, ja vaadake väljundit.

Asjad, mida meeles pidada

  • Iga märksõna kasutatakse enamiku kordadest ainult juhul, kui kasutatakse funktsiooni VBA For Loop. Muu hulgas on selle kasutamine Exceli VBA-s piiratud.
  • Märksõna „iga” eeliseks on ainult see, et meil pole deklareerita etappe nagu 1 kuni x „For” avalduses.

Soovitatavad artiklid

See on juhend VBA iga silmuse jaoks. Siin arutleme, kuidas kasutada Excelis iga silmuse jaoks VBA-koodi koos praktiliste näidete ja allalaaditava excelimalliga. Allpool on mõned kasulikud exceli artiklid, mis on seotud VBA-ga -

  1. VBA teha, kui silmus
  2. Veergude vahetamine Excelis
  3. VBA paus Loopile
  4. Loendage nimesid Excelis
  5. Kuidas käivitada VBA koodi?

Kategooria: