Silumistehnikad Excel 2016 VBA jaoks

Teil võib tekkida probleeme VBA-koodiga, kuid kuidas probleemi leida? Mõnikord võib teie VBA-kood vajada silumist. Jätkake lugemist, et leida neli kõige levinumat meetodit Exceli VBA-koodi silumiseks.

  • Koodi uurimine

  • MsgBoxi funktsioonide sisestamine koodi erinevatesse kohtadesse

  • Debug.Print avalduste sisestamine

  • Exceli sisseehitatud silumistööriistade kasutamine

Teie koodi uurimine

Võib-olla on kõige lihtsam silumistehnika lihtsalt oma koodi hoolikalt uurida, et näha, kas leiate probleemi. See meetod nõuab muidugi teadmisi ja kogemusi. Teisisõnu, sa pead teadma, mida sa teed. Kui teil veab, hüppab viga kohe välja ja te lööte vastu lauba ja ütlete: "Oh!" Kui otsmikuvalu väheneb, saate probleemi lahendada.

Pange tähele sõnade "Kui teil veab" kasutamist. Selle põhjuseks on asjaolu, et sageli avastate vigu, kui olete oma programmiga töötanud kaheksa tundi järjest, kell on 2 öösel ning töötate kofeiini ja tahtejõuga. Sellistel aegadel on teil õnne, kui näete isegi oma koodi, rääkimata vigade leidmisest. Seetõttu ärge imestage, kui lihtsalt koodi uurimisest ei piisa, et leida ja kustutada kõik selles sisalduvad vead.

MsgBox funktsiooni kasutamine

Paljude programmide tavaline probleem seisneb selles, et üks või mitu muutujat ei võta oodatud väärtusi. Sellistel juhtudel on muutuja(te) jälgimine koodi käitamise ajal abiks silumistehnika. Üks võimalus seda teha on ajutiste MsgBoxi funktsioonide sisestamine oma rutiini. Näiteks kui teil on muutuja nimega CellCount, saate sisestada järgmise avalduse:

MsgBox CellCount

Kui käivitate rutiini, kuvab funktsioon MsgBox CellCounti väärtuse.

Sageli on abiks kahe või enama muutuja väärtuste kuvamine sõnumikastis. Järgmises lauses kuvatakse kahe muutuja praegune väärtus: LoopIndex (1) ja CellCount (72), eraldatuna tühikuga.

MsgBox LoopIndex & " " & CellCount

Pange tähele, et need kaks muutujat on kombineeritud konkatenatsioonioperaatoriga (&) ja sisestage nende vahele tühik. Vastasel juhul stringib sõnumikast kaks väärtust kokku, muutes need ühe väärtusena. Tühiku asemel võite kasutada ka sisseehitatud konstanti vbNewLine. vbNewLine lisab reavahetuse katkestuse, mis kuvab teksti uuel real. Järgmises lauses kuvatakse kolm muutujat, millest igaüks on eraldi real:

Silumistehnikad Excel 2016 VBA jaoks

Sõnumikasti kasutamine kolme muutuja väärtuse kuvamiseks.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

See meetod ei piirdu muutujate jälgimisega. Saate kasutada sõnumikasti, et kuvada koodi töötamise ajal kõikvõimalikku kasulikku teavet. Näiteks kui teie kood liigub läbi lehtede seeria, kuvatakse järgmises lauses aktiivse lehe nimi ja tüüp:

MsgBox ActiveSheet.Name & " " & TypeName(ActiveSheet)

Kui teie sõnumikastis kuvatakse midagi ootamatut, vajutage klahvikombinatsiooni Ctrl+Break ja näete dialoogiboksi, mis teatab, et koodi täitmine on katkestatud, on teil neli valikut.

  • Klõpsake nuppu Jätka. Koodi täitmine jätkub.

  • Klõpsake nuppu Lõpeta. Täitmine peatub.

  • Klõpsake nuppu Silumine. VBE läheb silumisrežiimi.

  • Klõpsake nuppu Abi. Abiekraan annab teada, et vajutasite klahvikombinatsiooni Ctrl+Break. Teisisõnu, see ei ole väga kasulik.

    Silumistehnikad Excel 2016 VBA jaoks

    Ctrl+Break vajutamine peatab teie koodi täitmise ja annab teile mõned valikud.

Kui teie klaviatuuril pole Break-klahvi, proovige vajutada klahvikombinatsiooni Ctrl+ScrollLock.

Kasutage koodi silumisel sageli MsgBoxi funktsioone. Pärast probleemi tuvastamist ja kõrvaldamist eemaldage need lihtsalt.

Debug.Print avalduste sisestamine

Alternatiivina MsgBoxi funktsioonide kasutamisele koodis saate sisestada ühe või mitu ajutist Debug.Print avaldust. Kasutage neid avaldusi ühe või mitme muutuja väärtuse printimiseks kohe aknas. Siin on näide, mis kuvab kolme muutuja väärtused:

Debug.Print LoopIndex, CellCount, MyVal

Pange tähele, et muutujad eraldatakse komadega. Saate ühe Debug.Print lausega kuvada nii palju muutujaid, kui soovite.

Debug.Print saadab väljundi vahetu aknasse isegi siis, kui see aken on peidetud. Kui VBE vahetu aken pole nähtav, vajutage klahvikombinatsiooni Ctrl+G (või valige Vaade → Vahetu aken). Siin on vahetu akna väljund.

Silumistehnikad Excel 2016 VBA jaoks

Debug.Print avaldus saadab väljundi vahetu aknasse.

Erinevalt MsgBoxist ei peata Debug.Print avaldused teie koodi. Seega peate silma peal hoidma vahetul aknal, et näha, mis toimub.

Pärast koodi silumist eemaldage kindlasti kõik Debug.Printi avaldused. Isegi suured ettevõtted, nagu Microsoft, unustavad aeg-ajalt oma Debug.Printi avaldused eemaldada. Mitmes varasemas Exceli versioonis nägite iga kord, kui Analysis ToolPaki lisandmoodul avati, kohe aknas mitu kummalist teadet. See probleem lahendati lõpuks Excel 2007-s.

VBA siluri kasutamine

Exceli disainerid on vigade kontseptsiooniga hästi kursis. Sellest tulenevalt sisaldab Excel komplekti silumistööriistu, mis aitavad teil VBA-koodi probleeme lahendada.

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 […]