Atkļūdošanas metodes programmai Excel 2016 VBA

Var rasties problēmas ar savu VBA kodu, bet kā atrast problēmu? Dažreiz jūsu VBA kodam var būt nepieciešama atkļūdošana. Turpiniet lasīt, lai atklātu četras visizplatītākās metodes Excel VBA koda atkļūdošanai:

  • Pārbaudot kodu

  • MsgBox funkciju ievietošana dažādās koda vietās

  • Notiek Debug.Print paziņojumu ievietošana

  • Izmantojot Excel iebūvētos atkļūdošanas rīkus

Pārbaudot jūsu kodu

Iespējams, visvienkāršākā atkļūdošanas tehnika ir vienkārši rūpīgi apskatīt kodu, lai noskaidrotu, vai varat atrast problēmu. Šī metode, protams, prasa zināšanas un pieredzi. Citiem vārdiem sakot, jums ir jāzina, ko jūs darāt. Ja jums paveicas, kļūda parādās uzreiz, un jūs sitāt pa pieri un sakāt: "Ak!" Kad pieres sāpes mazinās, jūs varat novērst problēmu.

Pievērsiet uzmanību vārdu lietojumam: "Ja jums paveicas". Tas ir tāpēc, ka bieži jūs atklājat kļūdas, kad esat strādājis pie savas programmas astoņas stundas pēc kārtas, ir pulksten 2 naktī un jūs strādājat ar kofeīnu un gribasspēku. Šādos gadījumos jums ir paveicies, ja varat pat redzēt savu kodu, nemaz nerunājot par kļūdu atrašanu. Tāpēc nebrīnieties, ja ar koda pārbaudi vien nepietiek, lai atrastu un izdzēstu visas tajā esošās kļūdas.

Izmantojot funkciju MsgBox

Bieži sastopama problēma daudzās programmās ir saistīta ar vienu vai vairākiem mainīgajiem, kas nepieņem gaidītās vērtības. Šādos gadījumos mainīgā(-u) pārraudzība koda darbības laikā ir noderīgs atkļūdošanas paņēmiens. Viens veids, kā to izdarīt, ir savā rutīnā ievietot pagaidu MsgBox funkcijas. Piemēram, ja jums ir mainīgais ar nosaukumu CellCount, varat ievietot šādu paziņojumu:

MsgBox šūnu skaits

Kad izpildāt rutīnu, funkcija MsgBox parāda CellCount vērtību.

Bieži vien ir noderīgi ziņojuma lodziņā parādīt divu vai vairāku mainīgo vērtības. Šis paziņojums parāda divu mainīgo pašreizējo vērtību: LoopIndex (1) un CellCount (72), atdalot tos ar atstarpi.

MsgBox LoopIndex & " " & CellCount

Ņemiet vērā, ka abi mainīgie ir apvienoti ar saitīšanas operatoru (&) un ievietojiet starp tiem atstarpes rakstzīmi. Pretējā gadījumā ziņojuma lodziņā abas vērtības tiek saliktas kopā, padarot tās līdzīgas vienai vērtībai. Atstarpes rakstzīmes vietā varat izmantot arī iebūvēto konstanti vbNewLine. vbNewLine ievieto rindas padeves pārtraukumu, kas parāda tekstu jaunā rindā. Šis paziņojums parāda trīs mainīgos, katrs atsevišķā rindā:

Atkļūdošanas metodes programmai Excel 2016 VBA

Ziņojuma lodziņa izmantošana, lai parādītu trīs mainīgo vērtību.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Šī metode neaprobežojas tikai ar mainīgo lielumu uzraudzību. Varat izmantot ziņojumu lodziņu, lai parādītu visu veidu noderīgu informāciju, kamēr kods darbojas. Piemēram, ja kods iziet cauri virknei lapu, tālāk norādītajā paziņojumā tiek parādīts aktīvās lapas nosaukums un veids:

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

Ja ziņojuma lodziņā tiek parādīts kaut kas neparedzēts, nospiediet Ctrl+Break un tiek parādīts dialoglodziņš, kas informē, ka koda izpilde ir pārtraukta, jums ir četras izvēles iespējas:

  • Noklikšķiniet uz pogas Turpināt. Kods turpinās izpildīt.

  • Noklikšķiniet uz pogas Beigt. Izpilde apstājas.

  • Noklikšķiniet uz pogas Atkļūdot. VBE pāriet atkļūdošanas režīmā.

  • Noklikšķiniet uz pogas Palīdzība. Palīdzības ekrānā tiek parādīts, ka nospiedāt Ctrl+Break. Citiem vārdiem sakot, tas nav īpaši noderīgi.

    Atkļūdošanas metodes programmai Excel 2016 VBA

    Nospiežot taustiņu kombināciju Ctrl+Break, tiek apturēta koda izpilde un tiek piedāvātas dažas izvēles iespējas.

Ja tastatūrai nav Break taustiņa, mēģiniet nospiest Ctrl+ScrollLock.

Atkļūdojot kodu, varat bieži izmantot MsgBox funkcijas. Noteikti noņemiet tos pēc problēmas noteikšanas un novēršanas.

Notiek Debug.Print paziņojumu ievietošana

Kā alternatīvu MsgBox funkciju izmantošanai kodā varat ievietot vienu vai vairākus pagaidu Debug.Print paziņojumus. Izmantojiet šos paziņojumus, lai izdrukātu viena vai vairāku mainīgo vērtību tūlītējā logā. Šeit ir piemērs, kas parāda trīs mainīgo vērtības:

Debug.Print LoopIndex, CellCount, MyVal

Ņemiet vērā, ka mainīgie ir atdalīti ar komatiem. Varat parādīt tik daudz mainīgo, cik vēlaties, izmantojot vienu Debug.Print paziņojumu.

Debug.Print nosūta izvadi tūlītējam logam pat tad, ja šis logs ir paslēpts. Ja VBE tūlītējais logs nav redzams, nospiediet Ctrl+G (vai izvēlieties Skats → Tūlītējais logs). Šeit ir daži rezultāti tūlītējā logā.

Atkļūdošanas metodes programmai Excel 2016 VBA

Debug.Print paziņojums nosūta izvadi uz tūlītējo logu.

Atšķirībā no MsgBox, Debug.Print paziņojumi neaptur jūsu kodu. Tāpēc jums ir jāseko tūlītējam logam, lai redzētu, kas notiek.

Pēc koda atkļūdošanas noteikti noņemiet visus Debug.Print paziņojumus. Pat lielie uzņēmumi, piemēram, Microsoft, laiku pa laikam aizmirst noņemt savus Debug.Print paziņojumus. Vairākās iepriekšējās Excel versijās katru reizi, kad tika atvērta pievienojumprogramma Analysis ToolPak, tūlītējā logā tika parādīti vairāki dīvaini ziņojumi. Šī problēma beidzot tika novērsta programmā Excel 2007.

Izmantojot VBA atkļūdotāju

Excel dizaineri ir labi pazīstami ar kļūdu jēdzienu. Līdz ar to programmā Excel ir iekļauts atkļūdošanas rīku komplekts, kas var palīdzēt novērst problēmas VBA kodā.


Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows Microsoft Word atver failus tikai lasīšanas režīmā, padarot tos neiespējamu rediģēt? Neuztraucieties, metodes ir norādītas zemāk

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā labot kļūdas, drukājot nepareizus Microsoft Word dokumentus.Kļūdas Word dokumentu drukāšanā ar mainītiem fontiem, nekārtīgām rindkopām, trūkstoša teksta vai pazaudētu saturu ir diezgan izplatītas. Tomēr nevajag

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Ja prezentācijas laikā esat izmantojis pildspalvu vai marķieri, lai zīmētu uz PowerPoint slaidiem, varat saglabāt zīmējumus nākamajai prezentācijai vai izdzēst tos, lai nākamajā reizē, kad to parādīsit, jūs sāktu ar tīriem PowerPoint slaidiem. Izpildiet šos norādījumus, lai dzēstu pildspalvas un marķiera zīmējumus: Līniju dzēšana pa vienai […]

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Stilu bibliotēkā ir CSS faili, paplašināmās stila lapu valodas (XSL) faili un attēli, ko izmanto iepriekš definētas šablona lapas, lapu izkārtojumi un vadīklas programmā SharePoint 2010. Lai atrastu CSS failus publicēšanas vietnes stilu bibliotēkā: izvēlieties Vietnes darbības → Skatīt Viss vietnes saturs. Tiek parādīts vietnes saturs. Stila bibliotēka atrodas […]

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Nepārsedziet savu auditoriju ar milzīgiem skaitļiem. Programmā Microsoft Excel varat uzlabot informācijas paneļu un pārskatu lasāmību, formatējot skaitļus tā, lai tie tiktu rādīti tūkstošos vai miljonos.

Kā koplietot un sekot līdzi SharePoint vietnēm

Kā koplietot un sekot līdzi SharePoint vietnēm

Uzziniet, kā izmantot SharePoints sociālo tīklu rīkus, kas ļauj indivīdiem un grupām sazināties, sadarboties, koplietot un sazināties.

Kā programmā Excel konvertēt datumus Juliana formātos

Kā programmā Excel konvertēt datumus Juliana formātos

Jūlija datumi ražošanas vidēs bieži tiek izmantoti kā laikspiedols un ātra atsauce partijas numuram. Šāda veida datuma kodēšana ļauj mazumtirgotājiem, patērētājiem un pakalpojumu aģentiem noteikt produkta izgatavošanas laiku un līdz ar to arī produkta vecumu. Jūlija datumi tiek izmantoti arī programmēšanā, militārajā jomā un astronomijā. Savādāk […]

Kā izveidot Access Web App

Kā izveidot Access Web App

Programmā Access 2016 varat izveidot tīmekļa lietotni. Kas tad vispār ir tīmekļa lietotne? Tīmeklis nozīmē, ka tas ir tiešsaistē, un lietotne ir tikai “lietojumprogrammas” saīsinājums. Pielāgota tīmekļa lietotne ir tiešsaistes datu bāzes lietojumprogramma, kurai var piekļūt no mākoņa, izmantojot pārlūkprogrammu. Jūs veidojat un uzturat tīmekļa lietotni darbvirsmas versijā […]

Ātrās palaišanas josla programmā SharePoint 2010

Ātrās palaišanas josla programmā SharePoint 2010

Lielākā daļa SharePoint 2010 lapu ātrās palaišanas joslā lapas kreisajā pusē parāda navigācijas saišu sarakstu. Ātrās palaišanas joslā tiek rādītas saites uz piedāvāto vietņu saturu, piemēram, sarakstiem, bibliotēkām, vietnēm un publicēšanas lapām. Ātrās palaišanas joslā ir divas ļoti svarīgas saites: Visa vietnes satura saite: […]

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Vienkāršām problēmām risinātājs programmā Excel parasti ātri atrod optimālās Risinātāja mainīgā vērtības mērķa funkcijai. Taču dažos gadījumos Solver ir grūti atrast Solver mainīgā vērtības, kas optimizē mērķa funkciju. Šādos gadījumos Solver parasti parāda ziņojumu vai kļūdas ziņojumu, kurā aprakstīta vai apspriesta problēma, ko […]