Nākamā cilpa programmā Excel VBA - rokasgrāmata iesācējiem ar piemēriem

VBA cilpu izmanto, ja viens un tas pats uzdevums jāveic vairākas reizes, līdz nosacījums ir izpildīts (vai kamēr nosacījums ir patiess).

Šajā apmācībā jūs uzzināsit, kā Excel VBA izmantot nākamo cilpu.

Ja jūs interesē vienkāršs VBA apguves veids, apskatiet manu Tiešsaistes Excel VBA apmācība.

FOR NEXT cilpas izmantošana programmā Excel VBA

Cilne “Tālāk” darbojas, palaižot cilpu norādīto reižu skaitu.

Piemēram, ja es lūdzu manuāli pievienot veselus skaitļus no 1 līdz 10, jūs pievienotu pirmos divus ciparus, pēc tam pievienotu rezultātam trešo skaitli, pēc tam pievienotu rezultātam ceturto skaitli, kā tā tālāk …

Vai ne?

Tāda pati loģika tiek izmantota VBA cilnē For Next.

Jūs norādāt cik reizes ciklu vēlaties palaist, kā arī norādiet, ko vēlaties, lai kods darītu katru reizi, kad cilpa tiek palaista.

Šeit ir cilpas For Next formāts, kas jāizmanto VBA, lai pievienotu pirmos 10 veselos skaitļus.

Ja i = 1 līdz 10 [pievienojiet rezultātam i -to pozitīvu veselu skaitli] Tālāk i

Tagad apskatīsim dažus piemērus, kā izmantot cilni Nākotnei.

1. piemērs. Pirmo 10 pozitīvo veselu skaitļu pievienošana

Zemāk ir kods, kas pievienos pirmos 10 pozitīvos veselos skaitļus, izmantojot cilni Nākamajai. Pēc tam tiks parādīts ziņojumu lodziņš, kurā parādīta šo skaitļu summa.

Sub AddNumbers () Dim kopā kā vesels skaitlis Dim skaits kā vesels skaitlis kopā = 0 skaitīšanai = 1 līdz 10 kopā = kopā + skaits

Šajā kodā vērtība Kopā ir iestatīta uz 0, pirms nokļūst cilnē Nākamā.

Kad tas nonāk cilpā, tas saglabā kopējo vērtību pēc katras cilpas. Tātad pēc pirmās cilpas, kad skaitītājs ir 1, “kopējā” vērtība kļūst par 1, un pēc otrās cilpas tā kļūst par 3 (1+2) utt.

Visbeidzot, kad cikls beidzas un kad Total ir pirmo 10 pozitīvo veselu skaitļu summa, MsgBox vienkārši parāda rezultātu ziņojumu lodziņā.

Noklikšķiniet šeit, lai lejupielādētu parauga failu

2. piemērs. Pirmo 5 pat pozitīvo veselu skaitļu pievienošana

Lai apkopotu pirmos piecus pat pozitīvos veselos skaitļus (ti, 2,4,6,8 un 10), jums ir nepieciešams līdzīgs kods ar nosacījumu, lai ņemtu vērā tikai pāra skaitļus un nepāra skaitļus.

Šeit ir kods, kas to darīs:

Sub AddEvenNumbers () Dim kopā kā vesels skaitlis Dim skaits kā vesels skaitlis Kopā = 0 Skaitam = 2 līdz 10 2. solis kopā = Kopā + skaits Nākamais skaits MsgBox Kopējais beigu apakšdaļa

Ņemiet vērā, ka skaitīšanas vērtību mēs sākām no 2 un sintaksē For izmantojām arī 2. darbību.

2. solis kodam liks palielināt skaitļa vērtību par 2 katru reizi, kad tiek palaista cilpa. Tātad skaitīšanas vērtība sākas no 2 un pēc tam kļūst par 4, 6, 8 un 10, kad notiek atkārtošana.

PIEZĪME. Vēl viens veids, kā to izdarīt, varētu palaist cilpu no 1 līdz 10 un cikla ietvaros pārbaudīt, vai skaitlis ir pāra vai nepāra. Tomēr, izmantojot Step, šajā gadījumā ir efektīvāks veids, jo cilpa neprasa darboties 10 reizes, bet tikai 5 reizes.

Noklikšķiniet šeit, lai lejupielādētu parauga failu.

3. piemērs: iegūstiet ciparu daļu no burtciparu virknes

Cilni “Nākamajam” var izmantot arī, lai cilpotu katru virknes rakstzīmi.

Piemēram, ja jums ir burtciparu virkņu saraksts, varat izmantot cilni Nākamais, lai no tā izvilktu skaitļus (kā parādīts zemāk):

Šeit ir kods, kas VBA izveido pielāgotu funkciju, kuru var izmantot tāpat kā jebkuru citu darblapas funkciju.

Tas ekstrahē ciparu daļu no burtciparu virknes.

Funkcija GETNUMERIC (Cl kā diapazons) Dim i kā vesels skaitlis Dim rezultāts tik garš, cik i = 1 līdz Len (Cl), ja ir skaitlisks (vidējs (Cl, i, 1)), tad rezultāts = Rezultāts un vidus (Cl, i, 1) beigas If Next i GetNumeric = Rezultāta beigu funkcija

Šajā kodā cikla izpildes reižu skaits ir atkarīgs no burtciparu virknes garuma (tā izmanto funkciju LEN, lai atrastu virknes garumu).

Šī funkcija ir jāievieto moduļa koda logā, un pēc tam varat to izmantot tāpat kā jebkuru citu darblapas funkciju.

Noklikšķiniet šeit, lai lejupielādētu parauga failu.

4. piemērs: nejaušu skaitļu iegūšana atlasītajā diapazonā

Pieņemsim, ka vēlaties ātri ievadīt izlases skaitļus atlasītajās šūnās, šeit ir kods, kas to darīs.

Sub RandomNumbers () Dim MyRange kā diapazons Dim i Kā vesels skaitlis, j Kā vesels skaitlis Iestatīt MyRange = Atlase I = 1 uz MyRange.Columns.Count For j = 1 Uz MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Nākamais j Nākamais i Beigu apakš

Šis ir ligzdotas priekš nākamās cilpas piemērs, kur cilpa For tiek izmantota cilpā For.

Pieņemsim, ka izvēlaties 10 rindas un 4 kolonnas, i vērtība svārstās no 1 līdz 4 un j vērtība svārstās no 1 līdz 10.

Kad tiek palaista pirmā For cilpa, i vērtība ir 1. Pēc tam tā pāriet uz otro For cilpu, kas darbojas 10 reizes (katrai rindai).

Kad otrā For cilpa ir izpildīta 10 reizes, tā atgriežas pirmajā For cilpā, kur tagad i vērtība kļūst par 2. Atkal nākamā For cilpa darbojas 10 reizes.

Šādi darbojas ligzdotā For Next cilpa.

Noklikšķiniet šeit, lai lejupielādētu parauga failu.

Jums varētu patikt arī šādas Excel VBA apmācības:

  • Darbs ar šūnām un diapazoniem programmā Excel VBA.
  • Darbs ar darblapām programmā Excel VBA.
  • Darbs ar darbgrāmatām, izmantojot VBA.
  • IF un citu paziņojumu izmantošana VBA.
  • Excel VBA atlasīšanas gadījums.
  • Lietotāja definētas funkcijas izveide programmā Excel.
  • Excel VBA notikumi - vienkāršs (un pilnīgs) ceļvedis
  • Kā ierakstīt makro programmā Excel.
  • Kā palaist makro programmā Excel.
  • Kā izveidot pievienojumprogrammu programmā Excel.
  • Kā saglabāt un atkārtoti izmantot makro, izmantojot Excel personīgo makro darbgrāmatu.
  • Noderīgi Excel makro piemēri iesācējiem.
  • InStr funkcijas izmantošana VBA.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave