7 cilpu piemēri programmā Microsoft Excel VBA

Anonim

Ja rakstāt VBA programmu un vēlaties vienu un to pašu uzdevumu izpildīt vairākas reizes, varat to izdarīt, cilpām izmantojot VBA. VBA ir secīga programmēšanas valoda. Katra koda rinda tiek izpildīta no augšas uz leju, līdz vairs nav lasāmu koda rindu. Ja vēlaties atgriezties un veikt uzdevumu, jums ir jāpiespiež, izmantojot makro kodu. Jūs iegūstat rezultātus, izmantojot cilpu.

For Loop VBA ir viens no visizplatītākajiem cilpas veidiem. Cilpai For ir divas formas: For Next un For Every In Next. Cilpu For parasti izmanto, lai secīgi pārvietotos pa vienumu vai ciparu sarakstu. Lai pārtrauktu cilpu For jebkurā brīdī, mēs varam izmantot iziešanas paziņojumu. Par cilpu riņķos, kamēr tas atbilst beigu nosacījumam. Kad beigu nosacījums ir izpildīts, programmēšanas plūsma turpinās lejup tās dabiskajā virzienā.

Cilnei For… Next ir šāda sintakse: For counter = start_counter To end_counter 'Dariet kaut ko šeit (jūsu kods) Next counter 

Mēs faktiski veidojam cilpu, kurā tiek izmantots mainīgais skaitītājs kā cilpas “laika turētājs”. Mēs to iestatījām uz vērtību, kas vienāda ar start_counter cikla sākumā un pēc tam palieliniet to par 1 katras cilpas laikā, līdz tas atbilst beigu nosacījumam. Cilpa tiks izpildīta līdz brīdim, kad vērtība būs skaitītājs kļūst vienāds ar end_counter. Cikls tiek izpildīts pēdējo reizi, kad abas iepriekš minētās vērtības sakrīt un pēc tam cilpa apstājas.

Viss iepriekš minētais dažiem cilvēkiem var būt mulsinošs, tāpēc sagatavosimies un sāksim mācīties For Loop in Excel, izmantojot dažus piemērus.

  • Izveidojiet jaunu Excel darbgrāmatu un pēc tam saglabājiet to ar paplašinājumu .xlsm
  • Lai palaistu Visual Basic redaktora ekrānu, izmantojiet ALT + F11
  • Ievietojiet jaunu moduli
  • Kopējiet zemāk esošo kodu VB standarta modulī

1. cilpa (tiek parādīts numurs ar ziņojumapmaiņu)

Apakšcilpa1 () Dim StartNumber kā vesels skaitlis Dim EndNumber kā vesels skaitlis EndNumber = 5 StartNumber = 1 līdz EndNumber MsgBox StartNumber & "is" & "Your StartNumber" Next StartNumber End Sub 

Koda skaidrojums:

  • VBA kodam ir jāpiešķir vērtība StartNumber, kur EndNumber ir mainīgie, kas deklarēti kā veseli skaitļi kā cilpas sākumpunkts
  • Šīs vērtības var būt jebkuri skaitļi, un mums ir EndNumber kā 5
  • StartNumber tiek sākts 1
  • StartNumber = 1 līdz EndNumber nozīmē, ka kods sāksies no 1 (StartNumber) līdz 5 (EndNumber)
  • MsgBox StartNumber & "is" & "Your StartNumber" parādīs šādu ziņojumu lodziņu

Loop2 (aizpildīšanas vērtības)

Apakšcilpa2 () 'Aizpilda šūnas A1: A56 ar X vērtībām, veicot cilpu' --- Komentārs 'Palieliniet X vērtību par 1 katrā cilpā' --- Komentārs Dim X kā vesels skaitlis X = 1 līdz 56 Diapazons ("A "& X). Vērtība = X Nākamais X Beigu apakš 

Koda skaidrojums:

  • Mēs esam piešķīruši X kā veselu skaitli
  • X = no 1 līdz 56; tas sāksies ar 1 un turpināsies līdz 56 ar pieaugumu par 1 katru reizi
  • Diapazons ("A" & X) .Vērtība = X; šī rinda saglabās X vērtību un pāries diapazonā no A1 līdz A56

Loop3 (aizpildiet šūnas ar fona krāsu)

Sub Loop3 () 'Aizpilda šūnas B1: B56 ar 56 fona krāsām' --- Komentārs Dim X kā vesels skaitlis X = 1 līdz 56 diapazonam ("B" un X). Atlasiet ar Selection.Interior .ColorIndex = X .Pattern = xlSolid End ar Next X End Sub 

Koda skaidrojums:

  • Mēs esam piešķīruši X kā veselu skaitli
  • Ja X = 1 līdz 56, tas sāksies ar 1 un turpināsies līdz 56 ar pieaugumu 1 katru reizi
  • Diapazons ("B" un X). Izvēlieties; šajā rindā tiks saglabāta X vērtība un atlasīta šūna B1 līdz B56
  • Nākamās 4 rindas, t.i., ar Selection.Interior izvēlēsies interjera colorindex un ņems no šīs colorindex vērtības no X tā, lai 1 piederētu melnai krāsai; 2 pieder pie baltas krāsas; 3 par sarkanu utt

4. cilpa (aizpildiet vērtības ar 2 palielinājumu)

Pēc noklusējuma solis ir uz priekšu 1, tomēr to var iestatīt uz skaitli, kas lielāks par 1.

Sub Loop4 () 'Aizpilda katru otro šūnu no C1: C50 ar vērtībām X' --- Komentārs Dim X kā vesels skaitlis X = 1 līdz 50 2. darbības jomas diapazons ("C" un X). Vērtība = X Nākamā X Beigu apakšdaļa 

Koda skaidrojums:

  • Mēs esam piešķīruši X kā veselu skaitli
  • X = 1 līdz 50 2. darbība; tas sāksies ar 1 pret X līdz 50, katru reizi palielinot 2
  • Diapazons ("C" & X) .Vērtība = X; šī rinda saglabās X vērtību un pāries diapazonā no C1 līdz C50

Loop 5 (VBA for Coop in Reverse with STEP Instruction)

Nav nepieciešams, lai skaitītājs cilnē For pārvietotos tikai no zemām uz augstākām vērtībām; tā vietā cilpa var darboties atpakaļ, t.i., no augstām līdz zemākām vērtībām.

Lai gan solis pēc noklusējuma ir uz priekšu 1, to var iestatīt uz skaitli apgrieztā secībā.

Sub Loop5 () 'Aizpilda šūnas no D1: D50 ar X vērtībām' --- Komentārs 'Šajā gadījumā X samazinās par 1' --- Komentārs Dim X Kā vesels skaitlis, Rinda kā vesels skaitlis Rinda = 1 X = 50 līdz 0 1. darbība. Diapazons ("D" un rinda). Vērtība = X rinda = rinda + 1 Nākamā X beigu apakšdaļa 

Koda skaidrojums:

  • Mēs esam piešķīruši X & Row kā veselu skaitli
  • Rinda satur vērtību 1
  • X = 50 līdz 0 1. darbība; tas sāksies no 50 ar samazinājumu par 1 X līdz 0
  • Diapazons ("D" & Rinda) .Vērtība = X; šī rinda saglabās X vērtību un pāries diapazonā no D1 līdz D50

6. cilpa (aizpilda katru otro šūnu reversā ar STEP-2)

Iepriekš minētajā cilpas piemērā mēs varam izmantot soli un secību, lai redzētu, vai cilpa For darbojas virzienā uz priekšu vai atpakaļ.

Apakšcilpa 6 () 'Aizpilda katru otro šūnu no E1: E100 ar X vērtībām' --- Komentārs 'Šajā gadījumā X samazinās par 2' --- Komentārs Dim X Kā vesels skaitlis, Rinda kā vesels skaitlis Rinda = 1 Attiecībā uz X = 100 Līdz 0 2. darbība. Diapazons ("E" un rinda). Vērtība = X rinda = rinda + 2 Nākamā X beigu apakšdaļa 

Koda skaidrojums:

  • Mēs esam piešķīruši X & Row kā veselu skaitli
  • Rinda satur vērtību 1
  • X = 100 līdz 0 2. solis; tas sāksies no 100 ar samazinājumu par 2 X līdz 0
  • Diapazons ("E" un rinda). Vērtība = X; šī rinda saglabās X vērtību un pāries diapazonā no E1 līdz E100

7. cilpa (cilpai ar IF nosacījumu: aizpilda šūnas, sākot no konkrētas šūnas)

Tas aizpildīs šūnas no šūnas F11 ar vērtību 11 līdz X atbilst IF nosacījumam

Apakšcilpa 7 () 'Sāk aizpildīt šūnas F11: F100 ar vērtībām X' --- Komentārs 'Tas tiks izvadīts no cilpas pēc 50' --- Komentārs Dim X kā vesels skaitlis X = 11 līdz 100 diapazons ("F" & X). Vērtība = X Ja X = 50, tad MsgBox ("Bye Bye") Iziet uz beigām, ja nākamais X End Sub 

Koda skaidrojums:

  • Mēs esam piešķīruši X kā veselu skaitli
  • X = 11 līdz 100; sāksies no 11 ar pieaugumu par 1 x, līdz nosacījums tiks izpildīts
  • Diapazons ("F" & X) .Vērtība = X; šī rinda saglabās X vērtību un pāries diapazonā F11, līdz nosacījums būs izpildīts

  • Pēc vērtības 50 ievadīšanas šūnā F50 tiks parādīts šāds ziņojumu lodziņš

Secinājums: Izmantojot iepriekš minētos 7 piemērus, mēs varam pieteikties cilpai mūsu parastajā vai jebkurā automatizācijas daļā.

Ja jums patika mūsu emuāri, kopīgojiet to ar saviem draugiem Facebook. Un arī jūs varat sekot mums Twitter un Facebook.
Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot, papildināt vai ieviest jauninājumus mūsu darbā un uzlabot to jūsu labā. Rakstiet mums e -pasta vietnē