Kako uporabljati zanke For-Next v Excelu 2016 VBA

Najenostavnejša vrsta zanke v programiranju Excel VBA je zanka For-Next. Zanko nadzira spremenljivka števca, ki se začne pri eni vrednosti in se ustavi pri drugi vrednosti. Stavki med stavkom For in naslednjim so stavki, ki se ponovijo v zanki.

Primer For-Next

Naslednji primer uporablja zanko For-Next za seštevanje prvih 1000 pozitivnih števil. Spremenljivka Total se začne kot nič. Nato pride do zanke. Spremenljivka Cnt je števec zanke. Začne se kot 1 in se vsakič skozi zanko poveča za 1. Zanka se konča, ko je Cnt 1000.

Ta primer ima samo en stavek znotraj zanke. Ta stavek doda vrednost Cnt spremenljivki Total. Ko se zanka zaključi, MsgBox prikaže vsoto številk.

Sub AddNumbers()
  Dim Total kot dvojno
  Dim Cnt As Long
  Skupaj = 0
  Za Cnt = 1 do 1000
    Skupaj = Skupaj + Cnt
  Naslednji Cnt
  MsgBox Skupaj
Končni sub

Ker je števec zanke običajna spremenljivka, lahko napišete kodo, da spremenite njeno vrednost v bloku kode med stavkoma For in Next. To pa je zelo slaba praksa.

Primeri For-Next s korakom

Vrednost koraka lahko uporabite za preskok nekaterih vrednosti števcev v zanki For-Next. Tukaj je prejšnji primer, prepisan tako, da sešteje samo liha števila med 1 in 1000:

Sub AddOddNumbers()
  Dim Total kot dvojno
  Dim Cnt As Long
  Skupaj = 0
  Za Cnt = 1 do 1000 korak 2
    Skupaj = Skupaj + Cnt
  Naslednji Cnt
  MsgBox Skupaj
Končni sub

Tokrat se Cnt začne kot 1 in nato prevzame vrednosti 3, 5, 7 itd. Vrednost koraka določa, kako se števec poveča. Upoštevajte, da se zgornja vrednost zanke (1000) dejansko ne uporablja, ker bo najvišja vrednost Cnt 999.

Tukaj je še en primer, ki uporablja vrednost koraka 3. Ta postopek deluje z aktivnim listom in uporabi svetlo sivo senčenje za vsako tretjo vrstico, od vrstice 1 do vrstice 100.

Sub ShadeEveryThirdRow()
  Dim i As Long
  Za i = 1 do 100 3. korak
    Vrstice(i).Notranja.Barva = RGB(200, 200, 200)
  Naslednji i
Končni sub

Oglejte si rezultat izvajanja tega makra.

Kako uporabljati zanke For-Next v Excelu 2016 VBA

Uporaba zanke za uporabo senčenja ozadja za vrstice.

Primer For-Next s stavkom Exit For

Zanka For-Next lahko vključuje tudi enega ali več stavkov Exit For znotraj zanke. Ko VBA naleti na ta stavek, se zanka takoj zaključi.

Naslednji primer prikazuje stavek Exit For. Ta rutina je funkcijski postopek, namenjen uporabi v formuli delovnega lista. Funkcija sprejme en argument (spremenljivko z imenom Str) in vrne znake levo od prve številske števke. Na primer, če je argument »KBR98Z«, funkcija vrne »KBR«.

Funkcija TextPart(Str)
  Dim i As Long
  TextPart = ""
  Za i = 1 do Len(Str)
    Če je Numeric(Mid(Str, i, 1)) Potem
      Izhod za
    Drugače
      Del besedila = Del besedila in sredina (Str, i, 1)
    Konec Če
  Naslednji i
Končna funkcija

Zanka For-Next se začne z 1 in konča s številko, ki predstavlja število znakov v nizu. Koda uporablja funkcijo Mid VBA za ekstrakcijo enega samega znaka znotraj zanke. Če se najde številski znak, se izvede stavek Exit For in zanka se predčasno konča.

Če znak ni številčen, se doda vrnjeni vrednosti (ki je enaka imenu funkcije). Edini čas, ko bo zanka pregledala vsak znak, je, če niz, posredovan kot argument, ne vsebuje številskih znakov.

Ugnezdeni primer For-Next

V zanki imate lahko poljubno število stavkov in ugnezdite zanke For-Next znotraj drugih zank For-Next.

Naslednji primer uporablja ugnezdeno zanko For-Next za vstavljanje naključnih številk v obseg celic 12 vrstic za 5 stolpcev. Upoštevajte, da rutina izvede notranjo zanko (zanko s števcem vrstic) enkrat za vsako ponovitev zunanje zanke (zanko s števcem Col). Z drugimi besedami, podprogram izvede stavek Cells(Row, Col) = Rnd 60-krat.

Kako uporabljati zanke For-Next v Excelu 2016 VBA

Te celice so bile napolnjene z uporabo ugnezdene zanke For-Next.

Sub FillRange()
  Dim Col As Long
  Dim Row As Long
  Za Col = 1 do 5
    Za vrstico = 1 do 12
      Celice (vrstica, stolpec) = Rnd
    Naslednja vrstica
  Naslednji polk
Končni sub

Naslednji primer uporablja ugnezdene zanke For-Next za inicializacijo tridimenzionalnega niza z vrednostjo 100. Ta rutina izvede stavek v sredini vseh zank (izjava dodelitve) 1000-krat (10 * 10 * 10), vsakič z drugačno kombinacijo vrednosti za i, j in 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
        MyArray(i, j, k) = 100
    Naslednji k
  Naslednji j
Naslednji i
  ' Druge izjave so tukaj
Končni sub

Tukaj je zadnji primer, ki uporablja ugnezdene zanke For-Next z vrednostjo Step. Ta postopek ustvari šahovnico s spreminjanjem barve ozadja izmeničnih celic.

Kako uporabljati zanke For-Next v Excelu 2016 VBA

Uporaba zank za ustvarjanje vzorca šahovnice.

Števec vrstic se spreminja od 1 do 8. Konstrukt If-Then določa, katero ugnezdeno strukturo For-Next uporabiti. Za lihe vrstice se števec Col začne z 2. Za sode vrstice se števec Col začne z 1. Obe zanki uporabljata vrednost koraka 2, tako da vpliva na nadomestne celice. Dve dodatni stavki naredita celice kvadratne (tako kot prava šahovnica).

Sub MakeCheckerboard()
  Dim R tako dolgo, C tako dolgo
  Za R = 1 do 8
    Če je WorksheetFunction.IsOdd(R) Potem
     Za C = 2 do 8 korak 2
       Celice (R, C). Notranjost. Barva = 255
     Naslednji C
    Drugače
     Za C = 1 do 8 korak 2
       Celice (R, C). Notranjost. Barva = 255
     Naslednji C
    Konec Če
  Naslednji R
  Vrstice(»1:8«).Višina vrstice = 35
  Stolpci(»A:H«).Širina stolpca = 6,5
Končni sub

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows Microsoft Word odpira datoteke v načinu samo za branje, zaradi česar jih je nemogoče urejati? Ne skrbite, metode so spodaj

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako odpraviti napake pri tiskanju nepravilnih dokumentov Microsoft Word Napake pri tiskanju dokumentov Word s spremenjeno pisavo, neurejenimi odstavki, manjkajočim besedilom ali izgubljeno vsebino so precej pogoste. Vendar pa ne

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Če ste med predstavitvijo uporabili pero ali označevalnik za risanje po diapozitivih PowerPoint, lahko risbe shranite za naslednjo predstavitev ali jih izbrišete, tako da boste naslednjič, ko ga pokažete, začeli s čistimi PowerPointovimi diapozitivi. Sledite tem navodilom za brisanje risb s peresom in označevalnikom: Brisanje črt ena na […]

Vsebina knjižnice slogov v SharePointu 2010

Vsebina knjižnice slogov v SharePointu 2010

Knjižnica slogov vsebuje datoteke CSS, datoteke Extensible Stylesheet Language (XSL) in slike, ki jih uporabljajo vnaprej določene glavne strani, postavitve strani in kontrolniki v SharePointu 2010. Če želite poiskati datoteke CSS v knjižnici slogov na založniškem mestu: Izberite Dejanja mesta→ Pogled Vsa vsebina spletnega mesta. Prikaže se vsebina spletnega mesta. Knjižnica Style se nahaja v […]

Oblikujte številke v tisoče in milijone v poročilih Excel

Oblikujte številke v tisoče in milijone v poročilih Excel

Ne preobremenjujte občinstva z ogromnimi številkami. V Microsoft Excelu lahko izboljšate berljivost svojih nadzornih plošč in poročil tako, da oblikujete svoje številke tako, da se prikažejo v tisočih ali milijonih.

Kako deliti in spremljati SharePointova spletna mesta

Kako deliti in spremljati SharePointova spletna mesta

Naučite se uporabljati SharePointova orodja za socialno mreženje, ki posameznikom in skupinam omogočajo komunikacijo, sodelovanje, skupno rabo in povezovanje.

Kako pretvoriti datume v julijanske oblike v Excelu

Kako pretvoriti datume v julijanske oblike v Excelu

Julijanski datumi se v proizvodnih okoljih pogosto uporabljajo kot časovni žig in hitra referenca za številko serije. Ta vrsta datumskega kodiranja omogoča trgovcem na drobno, potrošnikom in servisnim agentom, da ugotovijo, kdaj je bil izdelek izdelan in s tem starost izdelka. Julijanski datumi se uporabljajo tudi v programiranju, vojski in astronomiji. Drugačen […]

Kako ustvariti spletno aplikacijo Access

Kako ustvariti spletno aplikacijo Access

Spletno aplikacijo lahko ustvarite v Accessu 2016. Kaj je torej spletna aplikacija? No, splet pomeni, da je na spletu, aplikacija pa je le okrajšava za »aplikacijo«. Spletna aplikacija po meri je spletna aplikacija baze podatkov, do katere dostopate iz oblaka z uporabo brskalnika. Spletno aplikacijo gradite in vzdržujete v namizni različici […]

Vrstica za hitri zagon v SharePointu 2010

Vrstica za hitri zagon v SharePointu 2010

Večina strani v SharePointu 2010 prikaže seznam navigacijskih povezav v vrstici za hitri zagon na levi strani strani. Vrstica za hitri zagon prikazuje povezave do predstavljene vsebine spletnega mesta, kot so seznami, knjižnice, spletna mesta in strani za objavljanje. Vrstica za hitri zagon vključuje dve zelo pomembni povezavi: Povezava do vse vsebine spletnega mesta: […]

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Pri preprostih težavah reševalec v Excelu običajno hitro najde optimalne vrednosti spremenljivke reševalca za ciljno funkcijo. Toda v nekaterih primerih ima Solver težave pri iskanju vrednosti spremenljivke Solver, ki optimizirajo ciljno funkcijo. V teh primerih Solver običajno prikaže sporočilo ali sporočilo o napaki, ki opisuje ali razpravlja o težavi, ki […]