„Excel 2016 VBA“ derinimo metodai

Gali kilti problemų dėl VBA kodo, bet kaip rasti problemą? Kartais jūsų VBA kodą gali prireikti derinti. Skaitykite toliau, kad sužinotumėte keturis dažniausiai pasitaikančius „Excel“ VBA kodo derinimo būdus:

  • Nagrinėjant kodą

  • MsgBox funkcijų įterpimas įvairiose kodo vietose

  • Debug.Print pareiškimų įterpimas

  • Naudojant „Excel“ integruotus derinimo įrankius

Nagrinėjant jūsų kodą

Galbūt paprasčiausias derinimo būdas yra tiesiog atidžiai pažvelgti į kodą, kad pamatytumėte, ar galite rasti problemą. Šis metodas, žinoma, reikalauja žinių ir patirties. Kitaip tariant, jūs turite žinoti, ką darote. Jei jums pasisekė, klaida iškart iššoka, o jūs pliaukštelite į kaktą ir sakote: „O! Kai kaktos skausmas sumažėja, galite išspręsti problemą.

Atkreipkite dėmesį į žodžių „jei tau pasiseks“ vartojimą. Taip yra todėl, kad dažnai klaidų aptinkate, kai dirbate su programa aštuonias valandas iš eilės, yra 2 val. nakties, o jūs naudojate kofeiną ir valios jėgą. Tokiais atvejais jums pasiseka, jei netgi galite pamatyti savo kodą, jau nekalbant apie klaidų radimą. Taigi nenustebkite, jei vien tik ištyrus kodą neužtenka, kad surastumėte ir pašalintumėte visas jame esančias klaidas.

MsgBox funkcijos naudojimas

Dažna daugelio programų problema yra susijusi su vienu ar daugiau kintamųjų, kurie neįgyja jūsų laukiamų verčių. Tokiais atvejais kintamojo (-ių) stebėjimas, kol veikia jūsų kodas, yra naudinga derinimo technika. Vienas iš būdų tai padaryti – į savo kasdienybę įterpti laikinąsias MsgBox funkcijas. Pavyzdžiui, jei turite kintamąjį pavadinimu CellCount, galite įterpti šį teiginį:

MsgBox CellCount

Kai vykdote rutiną, funkcija MsgBox rodo CellCount reikšmę.

Dažnai pravartu pranešimų laukelyje rodyti dviejų ar daugiau kintamųjų reikšmes. Šiame sakinyje rodoma dabartinė dviejų kintamųjų reikšmė: LoopIndex (1) ir CellCount (72), atskirtos tarpu.

MsgBox LoopIndex & " " & CellCount

Atkreipkite dėmesį, kad abu kintamieji yra sujungti su sujungimo operatoriumi (&) ir tarp jų įterpkite tarpo simbolį. Kitu atveju pranešimų laukelyje abi reikšmės sujungiamos, todėl jos atrodo kaip viena reikšmė. Vietoj tarpo simbolio taip pat galite naudoti įtaisytąją konstantą vbNewLine. vbNewLine įterpia eilutės tiekimo pertrauką, kuri rodo tekstą naujoje eilutėje. Šis teiginys rodo tris kintamuosius, kurių kiekvienas yra atskiroje eilutėje:

„Excel 2016 VBA“ derinimo metodai

Pranešimo laukelio naudojimas trijų kintamųjų reikšmėms rodyti.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Ši technika neapsiriboja kintamųjų stebėjimu. Galite naudoti pranešimų laukelį, kad būtų rodoma visa naudinga informacija, kol kodas veikia. Pvz., jei kodas eina per daugybę lapų, toliau pateiktame sakinyje rodomas aktyvaus lapo pavadinimas ir tipas:

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

Jei pranešimo laukelyje rodoma kažkas netikėto, paspauskite Ctrl+Break ir pamatysite dialogo langą, nurodantį, kad kodo vykdymas buvo nutrauktas, turite keturis pasirinkimus:

  • Spustelėkite mygtuką Tęsti. Kodas toliau vykdomas.

  • Spustelėkite mygtuką Baigti. Vykdymas sustoja.

  • Spustelėkite mygtuką Debug. VBE pereina į derinimo režimą.

  • Spustelėkite mygtuką Pagalba. Pagalbos ekrane nurodoma, kad paspaudėte Ctrl+Break. Kitaip tariant, tai nėra labai naudinga.

    „Excel 2016 VBA“ derinimo metodai

    Paspaudus Ctrl+Break sustabdomas kodo vykdymas ir suteikiama keletas pasirinkimų.

Jei klaviatūroje nėra „Break“ klavišo, pabandykite paspausti „Ctrl“ + „ScrollLock“.

Nesivaržykite dažnai naudoti MsgBox funkcijas, kai derinate kodą. Tiesiog įsitikinkite, kad juos pašalinote, kai nustatote ir pašalinote problemą.

Debug.Print pareiškimų įterpimas

Kaip alternatyvą MsgBox funkcijoms savo kode galite įterpti vieną ar daugiau laikinų Debug.Print teiginių. Naudokite šiuos teiginius, norėdami išspausdinti vieno ar daugiau kintamųjų reikšmę lange Nedelsiant. Štai pavyzdys, kuriame pateikiamos trijų kintamųjų reikšmės:

Debug.Print LoopIndex, CellCount, MyVal

Atkreipkite dėmesį, kad kintamieji yra atskirti kableliais. Naudodami vieną Debug.Print teiginį galite rodyti tiek kintamųjų, kiek norite.

Debug.Print siunčia išvestį į tiesioginį langą, net jei tas langas yra paslėptas. Jei VBE neatidėliotino lango nematote, paspauskite Ctrl+G (arba pasirinkite View → Immediate Window). Štai keletas išvesties tiesioginio lange.

„Excel 2016 VBA“ derinimo metodai

Debug.Print sakinys siunčia išvestį į langą Immediate.

Kitaip nei MsgBox, Debug.Print teiginiai nesustabdo kodo. Taigi, norėdami pamatyti, kas vyksta, turite stebėti tiesioginį langą.

Suderinę kodą, būtinai pašalinkite visus Debug.Print teiginius. Netgi didelės įmonės, tokios kaip „Microsoft“, kartais pamiršta pašalinti savo Debug.Print pareiškimus. Keliose ankstesnėse „Excel“ versijose kiekvieną kartą atidarius „Analysis ToolPak“ priedą, iškart lange matėte keletą keistų pranešimų. Ši problema galiausiai buvo išspręsta „Excel 2007“.

Naudojant VBA derintuvą

„Excel“ dizaineriai yra gerai susipažinę su klaidų sąvoka. Todėl „Excel“ apima derinimo įrankių rinkinį, kuris gali padėti išspręsti VBA kodo problemas.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]