Kuidas kasutada Excel 2016 VBA-s järgmiseid silmuseid

Exceli VBA programmeerimise lihtsaim tsükli tüüp on For-Next tsükkel. Loopimist juhib loenduri muutuja, mis algab ühest väärtusest ja peatub teise väärtuse juures. Lause For ja Next vahelised väited on väited, mida korratakse tsüklis.

A For-Next näide

Järgmises näites kasutatakse tsüklit For-Next esimese 1000 positiivse arvu summeerimiseks. Muutuja Kokku algab nullist. Siis toimub loopimine. Muutuja Cnt on tsükliloendur. See algab 1-st ja seda suurendatakse tsükli kaudu iga kord 1 võrra. Silmus lõpeb, kui Cnt on 1000.

Selles näites on tsükli sees ainult üks lause. See väide lisab Cnt väärtuse muutujale Total. Kui tsükkel lõppeb, kuvab MsgBox numbrite summa.

Alam lisanumbrid()
  Dim Total As Double
  Dim Cnt As Long
  Kokku = 0
  Kui Cnt = 1 kuni 1000
    Kokku = kokku + Cnt
  Järgmine Cnt
  MsgBox kokku
Lõpeta alam

Kuna tsükliloendur on tavaline muutuja, saate kirjutada koodi, et muuta selle väärtust lausete For ja Next vahel olevas koodiplokis. See on aga väga halb tava.

For-Next näited sammuga

Saate kasutada sammu väärtust mõne loenduri väärtuse vahelejätmiseks tsüklis For-Next. Siin on eelmine näide, mis on ümber kirjutatud, et summeerida ainult paaritud arvud vahemikus 1 kuni 1000:

Alam AddOddNumbers()
  Dim Total As Double
  Dim Cnt As Long
  Kokku = 0
  Kui Cnt = 1 kuni 1000, 2. samm
    Kokku = kokku + Cnt
  Järgmine Cnt
  MsgBox kokku
Lõpeta alam

Seekord algab Cnt väärtusega 1 ja saab seejärel väärtused 3, 5, 7 jne. Sammu väärtus määrab, kuidas loendurit suurendatakse. Pange tähele, et ahela ülemist väärtust (1000) tegelikult ei kasutata, kuna Cnt suurim väärtus on 999.

Siin on veel üks näide, mis kasutab sammu väärtust 3. See protseduur töötab aktiivse lehega ja rakendab helehalli varjundit igale kolmandale reale 1. kuni 100. real.

Sub ShadeEveryThirdRow()
  Dim i As Long
  Kui i = 1 kuni 100, 3. samm
    Rida(i).Sisemus.Värv = RGB(200, 200, 200)
  Järgmine i
Lõpeta alam

Vaadake selle makro käitamise tulemust.

Kuidas kasutada Excel 2016 VBA-s järgmiseid silmuseid

Silmuse kasutamine ridadele taustavarjutuse rakendamiseks.

For-Next näide koos Exit For lausega

For-Next tsükkel võib tsükli sees sisaldada ka üht või mitut Exit For lauset. Kui VBA selle avalduse kohtab, katkeb tsükkel kohe.

Järgmine näide demonstreerib lauset Exit For. See rutiin on funktsiooniprotseduur, mis on mõeldud kasutamiseks töölehe valemis. Funktsioon võtab vastu ühe argumendi (muutuja nimega Str) ja tagastab esimesest numbrilisest numbrist vasakul olevad märgid. Näiteks kui argument on "KBR98Z", tagastab funktsioon "KBR".

Funktsiooni tekstiosa (Str)
  Dim i As Long
  TextPart = ""
  Kui i = 1 kuni Len(Str)
    Kui IsNumeric(Mid(Str, i, 1)) Siis
      Välju
    Muidu
      TextPart = TextPart & Mid(Str, i, 1)
    Lõpeta Kui
  Järgmine i
Lõpetamisfunktsioon

Silmus For-Next algab 1-ga ja lõpeb numbriga, mis tähistab märkide arvu stringis. Kood kasutab tsüklist ühe märgi eraldamiseks VBA funktsiooni Mid. Kui leitakse numbrimärk, käivitatakse käsk Exit For ja tsükkel lõpeb enneaegselt.

Kui märk ei ole numbriline, lisatakse see tagastatavale väärtusele (mis on sama, mis funktsiooni nimi). Ainus kord, kui tsükkel uurib iga tähemärki, on see, kui argumendina edastatud string ei sisalda numbrimärke.

Pesastatud For-Next näide

Silmuses võib olla suvaline arv lauseid ja tsüklid For-Next võib olla teiste For-Next tsüklite sees.

Järgmises näites kasutatakse pesastatud tsüklit For-Next, et sisestada juhuslikud arvud 12-rea-5-veerulisesse lahtrivahemikku. Pange tähele, et rutiin käivitab sisemise tsükli (silmus ridade loenduriga) üks kord iga välimise tsükli ( kolorenduriga tsükkel ) iteratsiooni jaoks . Teisisõnu, rutiin täidab käsku Cells(Row, Col) = Rnd 60 korda.

Kuidas kasutada Excel 2016 VBA-s järgmiseid silmuseid

Need lahtrid täideti pesastatud For-Next tsükli abil.

Sub FillRange()
  Dim Col As Long
  Hämar rida nii pikk
  Col = 1 kuni 5
    Rea jaoks = 1 kuni 12
      Lahtrid (rida, veerg) = Rnd
    Järgmine rida
  Järgmine kol
Lõpeta alam

Järgmises näites kasutatakse pesastatud For-Next silmuseid, et lähtestada kolmemõõtmeline massiiv väärtusega 100. See rutiin käivitab avalduse kõigi silmuste keskel (määramislause) 1000 korda (10 * 10 * 10) iga kord. i, j ja k erineva väärtuste kombinatsiooniga:

Sub NestedLoops()
  Dim MyArray (10, 10, 10)
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Kui i = 1 kuni 10
    Kui j = 1 kuni 10
      Kui k = 1 kuni 10
        Minu Massiiv(i, j, k) = 100
    Järgmine k
  Järgmine j
Järgmine i
  "Teised avaldused lähevad siia
Lõpeta alam

Siin on viimane näide, mis kasutab pesastatud For-Next silmuseid ja sammu väärtusega. See protseduur loob malelaua, muutes vahelduvate lahtrite taustavärvi.

Kuidas kasutada Excel 2016 VBA-s järgmiseid silmuseid

Silmuste kasutamine malelaua mustri loomiseks.

Rea loendur liigub vahemikus 1 kuni 8. Kui-siis konstruktsioon määrab, millist pesastatud järgmiseks struktuuriks kasutada. Paaritute ridade puhul algab Col-loendur 2-ga. Paarisarvuliste ridade puhul algab Col-loendur 1-ga. Mõlemad tsüklid kasutavad sammu väärtust 2, nii et see mõjutab alternatiivseid lahtreid. Kaks lisalauset muudavad lahtrid ruudukujuliseks (täpselt nagu päris kabelaual).

Sub MakeCheckerboard()
  Dim R As Long, C As Long
  Kui R = 1 kuni 8
    Kui WorksheetFunction.IsOdd(R) Siis
     Kui C = 2 kuni 8, 2. samm
       Lahtrid (R, C).Sisemus.Värv = 255
     Järgmine C
    Muidu
     Kui C = 1 kuni 8, 2. samm
       Lahtrid (R, C).Sisemus.Värv = 255
     Järgmine C
    Lõpeta Kui
  Järgmine R
  Read (“1:8”). Rea kõrgus = 35
  Veerud ("A:H").Veerulaius = 6,5
Lõpeta alam

Leave a Comment

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

Uurige kümmet nõuannet Microsoft Teamsiga parema koosolekukogemuse saamiseks, sealhulgas märkmete tegemine, tausta hägustamine, vaigistamine ja koosolekute salvestamine.

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Lühikeses Word 2013 dokumendis saate kommentaare hõlpsalt sirvida ja uurida. Siit leiate samm-sammult, kuidas kommentaare lugeda ja eemaldada.

Kuidas parandada Word 2016 tavalist malli

Kuidas parandada Word 2016 tavalist malli

Mõnikord varitseb kurjus selles, mis peaks olema Word 2016 peamises mõistlikkuse hoidlas: tavalises mallifailis. Õpi, kuidas taastada normaalne mall ja eemaldada probleemid.

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s, et luua selgem ja professionaalsem ilme. Meie juhend aitab sul lihtsasti navigeerida Wordi funktsioonide kaudu ja tutvustab esimeses reas taande ning rippuva taande lisamise viise.

Kuidas Outlook 2016-s uusi kiireid samme luua

Kuidas Outlook 2016-s uusi kiireid samme luua

Lisaks kuuele kiirtoimingule, mis kuvatakse Outlooki esmakordsel installimisel, on teil valida veelgi rohkemate Quick Step mallide hulgast.

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kui olete esitluse ajal PowerPointi slaididele joonistamiseks kasutanud pliiatsit või markerit, saate joonised järgmise esitluse jaoks salvestada või need kustutada, nii et järgmisel näitamisel alustate puhaste PowerPointi slaididega. Pliiatsi ja markeri jooniste kustutamiseks järgige neid juhiseid: joonte kustutamine […]

Stiili teegi sisu rakenduses SharePoint 2010

Stiili teegi sisu rakenduses SharePoint 2010

Style'i teek sisaldab CSS-faile, XSL-faile ja eelmääratletud mallilehtede, lehepaigutuste ja juhtelementide poolt kasutatavaid pilte rakenduses SharePoint 2010. CSS-failide leidmiseks avaldamissaidi stiiliteegist: valige saidi toimingud → vaade. Kogu saidi sisu. Ilmub saidi sisu. Style raamatukogu asub […]

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Ärge uputage oma publikut tohutute numbritega. Microsoft Excelis saate parandada oma armatuurlaudade ja aruannete loetavust, vormindades numbrid tuhandetes või miljonites.

Kuidas SharePointi saite jagada ja jälgida

Kuidas SharePointi saite jagada ja jälgida

Siit saate teada, kuidas kasutada SharePointi suhtlusvõrgustiku tööriistu, mis võimaldavad üksikisikutel ja rühmadel suhelda, koostööd teha, jagada ja ühendada.

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Julia kuupäevi kasutatakse tootmiskeskkondades sageli ajatemplina ja partiinumbri kiirviitena. Seda tüüpi kuupäevade kodeerimine võimaldab jaemüüjatel, tarbijatel ja teenindusagentidel tuvastada toote valmistamise aja ja seega toote vanuse. Juliuse kuupäevi kasutatakse ka programmeerimises, sõjaväes ja astronoomias. Erinevad […]