Kako koristiti For-Next petlje u Excel 2016 VBA

Najjednostavniji tip petlje u Excel VBA programiranju je For-Next petlja. Petlja je kontrolirana varijablom brojača, koja počinje na jednoj vrijednosti i zaustavlja se na drugoj vrijednosti. Naredbe između izraza For i sljedećeg iskaza su izjave koje se ponavljaju u petlji.

Primjer For-Next

Sljedeći primjer koristi For-Next petlju za zbrajanje prvih 1000 pozitivnih brojeva. Varijabla Total počinje kao nula. Tada dolazi do petlje. Varijabla Cnt je brojač petlje. Počinje kao 1 i svaki put se povećava za 1 kroz petlju. Petlja završava kada je Cnt 1000.

Ovaj primjer ima samo jedan izraz unutar petlje. Ova izjava dodaje vrijednost Cnt varijabli Total. Kada se petlja završi, MsgBox prikazuje zbroj brojeva.

Podbrojevi dodavanja()
  Dim Total kao duplo
  Dim Cnt As Long
  Ukupno = 0
  Za Cnt = 1 do 1000
    Ukupno = Ukupno + Cnt
  Sljedeći Cnt
  MsgBox Ukupno
Kraj Sub

Budući da je brojač petlje normalna varijabla, možete napisati kod kako biste promijenili njegovu vrijednost unutar bloka koda između izraza For i Next. To je, međutim, vrlo loša praksa.

For-Next primjeri s korakom

Možete koristiti vrijednost koraka da preskočite neke vrijednosti brojača u petlji For-Next. Evo prethodnog primjera, prepisanog da zbroji samo neparne brojeve između 1 i 1000:

Sub AddOddNumbers()
  Dim Total kao duplo
  Dim Cnt As Long
  Ukupno = 0
  Za Cnt = 1 do 1000 Korak 2
    Ukupno = Ukupno + Cnt
  Sljedeći Cnt
  MsgBox Ukupno
Kraj Sub

Ovaj put, Cnt počinje kao 1, a zatim poprima vrijednosti od 3, 5, 7 itd. Vrijednost koraka određuje kako se brojač povećava. Primijetite da se gornja vrijednost petlje (1000) zapravo ne koristi jer će najviša vrijednost Cnt biti 999.

Evo još jednog primjera koji koristi vrijednost koraka 3. Ovaj postupak radi s aktivnim listom i primjenjuje svijetlosivo sjenčanje na svaki treći red, od retka 1 do retka 100.

PodsjenaSvaki Treći Red()
  Dim i As Long
  Za i = 1 do 100, korak 3
    Redovi(i).Interior.Boja = RGB(200, 200, 200)
  Sljedeći i
Kraj Sub

Provjerite rezultat pokretanja ove makronaredbe.

Kako koristiti For-Next petlje u Excel 2016 VBA

Korištenje petlje za primjenu sjenčanja pozadine na retke.

Primjer For-Next s naredbom Exit For

Petlja For-Next također može uključivati ​​jedan ili više naredbi Exit For unutar petlje. Kada VBA naiđe na ovu izjavu, petlja se odmah završava.

Sljedeći primjer pokazuje naredbu Exit For. Ova rutina je funkcija funkcije, namijenjena za korištenje u formuli radnog lista. Funkcija prihvaća jedan argument (varijabla pod nazivom Str) i vraća znakove lijevo od prve brojčane znamenke. Na primjer, ako je argument "KBR98Z", funkcija vraća "KBR".

Funkcija TextPart(Str)
  Dim i As Long
  Tekstualni dio = ""
  Za i = 1 do Len(Str)
    Ako je Numerički(sredina(Str, i, 1)) Onda
      Izlaz za
    Drugo
      TextPart = TextPart & Mid(Str, i, 1)
    Završi ako
  Sljedeći i
Završna funkcija

Petlja For-Next počinje s 1 i završava brojem koji predstavlja broj znakova u nizu. Kod koristi VBA-ovu Mid funkciju za izdvajanje jednog znaka unutar petlje. Ako se pronađe numerički znak, izvršava se naredba Exit For, a petlja se prerano završava.

Ako znak nije numerički, dodaje se vraćenoj vrijednosti (koja je ista kao i naziv funkcije). Jedini put kada će petlja ispitati svaki znak je ako niz proslijeđen kao argument ne sadrži numeričke znakove.

Ugniježđeni primjer For-Next

Možete imati bilo koji broj izraza u petlji i ugnijezditi For-Next petlje unutar drugih For-Next petlji.

Sljedeći primjer koristi ugniježđenu petlju For-Next za umetanje slučajnih brojeva u raspon ćelija od 12 redaka po 5 stupaca. Primijetite da rutina izvršava unutarnju petlju (petlju s brojačem redaka) jednom za svaku iteraciju vanjske petlje (petlja s brojačem Col). Drugim riječima, rutina izvršava naredbu Cells(Row, Col) = Rnd 60 puta.

Kako koristiti For-Next petlje u Excel 2016 VBA

Ove ćelije su ispunjene korištenjem ugniježđene For-Next petlje.

Podraspon popunjavanja()
  Dim Col As Long
  Dim Row As Long
  Za Col = 1 do 5
    Za red = 1 do 12
      Stanice (Red, Col) = Rnd
    Sljedeći red
  Sljedeći pukovnik
Kraj Sub

Sljedeći primjer koristi ugniježđene petlje For-Next za inicijalizaciju trodimenzionalnog niza s vrijednošću 100. Ova rutina izvršava naredbu u sredini svih petlji (izjava o dodjeli) 1000 puta (10 * 10 * 10), svaki put s različitom kombinacijom vrijednosti za i, j i k:

Sub NestedLoops()
  Dim MyArray(10, 10, 10)
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Za i = 1 do 10
    Za j = 1 do 10
      Za k = 1 do 10
        Moj niz (i, j, k) = 100
    Sljedeći k
  Sljedeći j
Sljedeći i
  ' Ostale izjave idu ovdje
Kraj Sub

Evo posljednjeg primjera koji koristi ugniježđene For-Next petlje, s vrijednošću Step. Ovaj postupak stvara šahovnicu promjenom boje pozadine izmjeničnih ćelija.

Kako koristiti For-Next petlje u Excel 2016 VBA

Korištenje petlji za stvaranje uzorka šahovnice.

Brojač redaka se kreće od 1 do 8. Konstrukt If-Then određuje koju će ugniježđenu For-Next strukturu koristiti. Za retke s neparnim brojem, Col brojač počinje s 2. Za parne retke, Col brojač počinje s 1. Obje petlje koriste vrijednost koraka od 2, tako da su zahvaćene alternativne ćelije. Dvije dodatne izjave čine ćelije četvrtastim (baš kao prava šahovnica).

Sub MakeCheckerboard()
  Dim R kao dugo, C kao dugo
  Za R = 1 do 8
    Ako WorksheetFunction.IsOdd(R) Onda
     Za C = 2 do 8, korak 2
       Ćelije (R, C). Interijer. Boja = 255
     Sljedeći C
    Drugo
     Za C = 1 do 8, korak 2
       Ćelije (R, C). Interijer. Boja = 255
     Sljedeći C
    Završi ako
  Sljedeći R
  Redovi (“1:8”). Visina reda = 35
  Stupci(“A:H”).Širina stupca = 6,5
Kraj Sub

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows Microsoft Word otvara datoteke u načinu rada samo za čitanje, što onemogućuje njihovo uređivanje? Ne brinite, metode su navedene u nastavku

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogreške u ispisu netočnih Microsoft Word dokumenata Pogreške u ispisu Word dokumenata s promijenjenim fontovima, neurednim odlomcima, nedostajućim tekstom ili izgubljenim sadržajem vrlo su česte. Međutim, nemojte

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Ako ste upotrijebili olovku ili marker za crtanje na PowerPoint slajdovima tijekom prezentacije, možete spremiti crteže za sljedeću prezentaciju ili ih izbrisati tako da ćete sljedeći put kada ih pokažete početi s čistim PowerPoint slajdovima. Slijedite ove upute za brisanje crteža olovkom i markerom: Brisanje linija jedan na […]

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Biblioteka stilova sadrži CSS datoteke, datoteke Extensible Stylesheet Language (XSL) i slike koje koriste unaprijed definirane glavne stranice, izgledi stranica i kontrole u SharePointu 2010. Da biste locirali CSS datoteke u biblioteci stilova web-mjesta za objavljivanje: Odaberite Radnje web-mjesta→Prikaz Sav sadržaj web-mjesta. Pojavljuje se sadržaj stranice. Knjižnica Style nalazi se u […]

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Nemojte zatrpavati svoju publiku ogromnim brojevima. U Microsoft Excelu možete poboljšati čitljivost svojih nadzornih ploča i izvješća formatiranjem brojeva tako da se prikazuju u tisućama ili milijunima.

Kako dijeliti i pratiti SharePoint web-mjesta

Kako dijeliti i pratiti SharePoint web-mjesta

Naučite kako koristiti SharePointove alate za društveno umrežavanje koji pojedincima i grupama omogućuju komunikaciju, suradnju, dijeljenje i povezivanje.

Kako pretvoriti datume u julijanske formate u Excelu

Kako pretvoriti datume u julijanske formate u Excelu

Julijanski datumi se često koriste u proizvodnim okruženjima kao vremenska oznaka i brza referenca za broj serije. Ova vrsta datumskog kodiranja omogućuje trgovcima na malo, potrošačima i uslužnim agentima da identificiraju kada je proizvod napravljen, a time i starost proizvoda. Julijanski datumi se također koriste u programiranju, vojsci i astronomiji. Drugačiji […]

Kako stvoriti Access web aplikaciju

Kako stvoriti Access web aplikaciju

Možete izraditi web-aplikaciju u Accessu 2016. Dakle, što je uopće web-aplikacija? Pa, web znači da je online, a aplikacija je samo skraćenica za "aplikaciju". Prilagođena web-aplikacija je online aplikacija baze podataka kojoj se pristupa iz oblaka pomoću preglednika. Vi gradite i održavate web-aplikaciju u verziji za stolna računala […]

Traka za brzo pokretanje u sustavu SharePoint 2010

Traka za brzo pokretanje u sustavu SharePoint 2010

Većina stranica u sustavu SharePoint 2010 prikazuje popis navigacijskih veza na traci za brzo pokretanje na lijevoj strani stranice. Traka za brzo pokretanje prikazuje veze na istaknuti sadržaj web-mjesta kao što su popisi, knjižnice, web-mjesta i stranice za objavljivanje. Traka za brzo pokretanje uključuje dvije vrlo važne veze: vezu za sav sadržaj web-mjesta: […]

Što znače poruke o greškama Solvera u Excelu?

Što znače poruke o greškama Solvera u Excelu?

Za jednostavne probleme, Solver u Excelu obično brzo pronalazi optimalne vrijednosti varijable Solvera za funkciju cilja. No, u nekim slučajevima, Solver ima problema s pronalaženjem vrijednosti varijable Solvera koje optimiziraju funkciju cilja. U tim slučajevima, Solver obično prikazuje poruku ili poruku o pogrešci koja opisuje ili raspravlja o problemu koji […]