VBA-virheenkorjaus | Kuinka käyttää Debug.Print-sovellusta VBA-koodilähdön analysointiin?

Excel VBA -vianetsintä. Tulosta

Virheenkorjaus on yksi VBA-editorissa esitetyistä hyödyllisistä työkaluista ohjelman toiminnan selvittämiseen, ja se auttaa analysoimaan VBA-ohjelmassa luotujen muuttujien arvojen muutoksia. Se näyttää välittömän ikkunan lähdön, kun suoritamme ohjelmaa ilman vikoja.

Debug.print tarjoaa kaksi pääetua verrattuna Msgboxin käyttöön koodilähdön näyttämisessä. Se poistaa tarpeen napsauttaa OK-painiketta joka kerta ja näyttää palautettujen lähtöarvojen lokin välittömiin ikkunoihin. Se säästää paljon käyttäjien aikaa. Tässä artikkelissa selitetään Excelin VBA-virheenkorjaustulostuksen käyttö monilla esimerkeillä ja selitetään, miten sitä käytetään, kattaen seuraavat asiat.

Mikä on VBA Debug Print?

Virheenkorjaus on objekti VBA: ssa ja sitä käytetään kahdella menetelmällä nimeltä Assert and Print. Tulos on hyödyllinen näyttöviestissä ja vakuuttaa hyödyllisenä olosuhteiden arvioinnissa. VBA: ssa debug.print-käskyä käytetään missä tahansa koodausohjelman paikassa muuttujan tai viestien arvojen näyttämiseksi Välitön-ikkunassa. Nämä eivät tarvitse kuittausta tai vahvistusta eivätkä näytä mitään vaikutusta kehitettyyn koodiin. Se on turvallista ja parasta käyttää koodissa tilanteessa, joka helpottaa pääsyä monille käyttäjille. Nämä ovat vain hyödyllisiä koodin testauksessa tai arvioinnissa sen varmistamiseksi, että se toimii oikein tai ei. Muuttujien, merkkijonojen, numeroiden, taulukon, arvojen tulostaminen Excel-taulukoissa sekä tyhjät ja aktiiviset taulukot.

Kuinka käyttää Excel VBA -vianetsintätulostusta?

VBA debug.print on lause, joka auttaa näyttämään enemmän muuttujia kerrallaan välittömässä ikkunassa. Se on paras ja vaihtoehtoinen tapa näyttää tuotos.

Esimerkiksi,

Debug.print-määrä, summa, keskiarvo, keskihajonta

Kuten esimerkissä on esitetty, kaikki muuttujat erotetaan pilkuilla. Tämä lauseke pystyy siirtämään lähdön välittömään ikkunaan, vaikka ikkunaa ei avatakaan. Se ei lopeta koodin suorittamista kuten Msgboxissa. Tämä joustavuus tukee tulosteen muutosten jatkuvaa seurantaa koodin muutosten suhteen.

Muuttujien lukumäärä, summa, keskiarvo ja keskihajonta näytetään samalla rivillä samalla välillä. Jos välitöntä ikkunaa ei avata, noudata seuraavia ohjeita nähdäksesi tulosteen.

Vaiheet välittömän ikkunan avaamiseksi ja tuloksen tarkastelemiseksi

  • Paina Ctrl + G tai napsauta Näytä-valikkoa VBA-editorissa.
  • Valitse vaihtoehto 'Välitön ikkuna'.
  • Aseta kohdistin ikkunaan ja suorita koodi uudelleen.
  • Tarkkaile lähtöä ikkunassa.

Esimerkkejä Excel VBA -vianetsinnästä

Seuraavassa on esimerkkejä virheenkorjaustulostuksen käytöstä Excel VBA: ssa.

Voit ladata tämän VBA Debug Print Excel -mallin täältä - VBA Debug Print Excel -malli

Esimerkki # 1 - Muuttujien arvojen näyttäminen

Mene ensin Kehittäjä-välilehdelle, napsauta Makrot ja luo makro, jolla voit kirjoittaa koodin VBA: hon ja lisätä siihen nimen.

Kun olet lisännyt nimen, napsauta Luo. Tämä avaa VBA-editorin.

Kehitä pieni ohjelma kuvan osoittamalla tavalla.

Koodi:

 Alimuuttujat () Dim X kokonaislukuna Dim Y merkkijonona Dim Z kuten Double X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub 

Kuten kuvakaappauksessa näkyy, kolmea ulottuvuutta tai muuttujaa pienennetään X: nä, Y: ksi ja Z: ksi kokonaislukuna, merkkijonona ja Double: ksi. Näiden arvojen tulostamiseen käytetään Debug.print-tiedostoa ja tulos näkyy välittömässä ikkunassa. Paina CTRL + G nähdäksesi tuotoksen kuvakaappauksen mukaisesti.

Suorita tämä koodi F5-näppäimellä ja paina  CTRL + G nähdäksesi lähdön Välitön-ikkunassa.

Tätä ohjelmaa voidaan yksinkertaistaa erottamalla debug.print-käskyt pilkulla.

Koodi:

 Alimuuttujat () Dim X kokonaislukuna Dim Y merkkijonona Dim Z kuten Double X = 5 Y = "John" Z = 105.632 Debug.Print X, Y, Z End Sub 

Tämä virheenkorjauslauseke tulostaa lähdön samalla rivillä kuin kuvakaappauksessa.

Esimerkki # 2 - Tulosta virheenkorjaus tiedostoon

Tämä esimerkki kuvaa VBA-virheenkorjaustulostuksen käyttöä tiedostoon tulostamisen näyttämiseen, kun tekstin pituus on liian suuri.

Ohjelma tulostaa tiedosto tiedostoon kehitetään kuvan osoittamalla tavalla.

Koodi:

Sub DebugPrintToFile () Himmennä merkkijonona Himmennä numero kokonaislukuna num = FreeFile () Avaa "D: \ Articles \ Excel \ test.txt" Tulostettavana nimellä #num s = "Hei maailma!" Debug.Print s 'kirjoita välittömään ikkunaan Tulosta #num, s kirjoita tuloste tiedostoon Sulje #num End Sub

Tässä ohjelmassa kahta muuttujaa nimeltä S ja Num pidetään merkkijonona ja kokonaislukuna. Avoin lauseke käytetään tekstitiedoston luomiseen nimitestillä. Merkkijono nimeltä “Hello World” ilmoitetaan muuttujaan S.

Kun suoritat VBA-koodin manuaalisesti tai sitten F5-näppäintä, tulosteet kirjoitetaan välittömään ikkunaan ja tiedosto kerrallaan näkyy kansiossa.

Tiedostoksi tulostaminen on esitetty alla olevassa kuvassa.

Tulostuksen tulostaminen tiedostoon on hyödyllistä, kun teksti on pitkä.

Esimerkki # 3 - Numeron kertoimen näyttäminen välittömässä ikkunassa

Tämä esimerkki havainnollistaa debug.print-käskyn käyttöä luvun faktorialin näyttämiseksi.

Koodi:

 Julkinen alitieto () Hajanainen luku kokonaislukuna Himmennetty luku kokonaislukuna Himmennetty tosiasia kokonaislukuna = 5 tosiasiaa = 1 Laskulle = 1 Numeroon tosiasia = tosiasia * Laske seuraava lasku Debug 

Kertoimen määrittämiseksi otetaan huomioon kolme muuttujaa, mukaan lukien määrä, lukumäärä ja tosiasia. Sillä silmukka otetaan toistamaan tosiarvon kerroin laskennalla, jotta määritetään luvun faktori.

Tässä debug.print-käskyä käytetään “for” -silmukan ulkopuolella näyttämään arvon silmukan valmistumisen jälkeen. Tuotos määritetään muodossa.

Jos käytämme debug.print-käskyä “for” -silmukassa, tosiasia-arvo näytetään jokaiselle toistuvalle ajalle kuvan osoittamalla tavalla.

Koodi:

 Julkinen alitieto () Hajanainen luku kokonaislukuna Himmennetty luku kokonaislukuna Himmennetty kokonaisluku kokonaislukuna = 5 tosiasiaa = 1 Laskulle = 1 Numeroon tosiasia = Tosiasia * Laskuvirhe. 

Suorita koodi painamalla F5-näppäintä ja näet lähdön välittömässä ikkunassa. Tässä tilanteessa meidän on pidettävä viimeistä arvoa annetun luvun faktorialla.

Esimerkki # 4 - Aktiivisen työkirjan koko nimen tulostaminen

Tässä esimerkissä selitetään, kuinka nykyisen työkirjan nimi tulostetaan välittömään ikkunaan

Ohjelma on kehitetty kuvan osoittamalla tavalla.

Koodi:

 Ala-aktiivistyö () Hämärämäärä niin kauan kuin määrä = 1 Työkirjoihin.luku Debug. Tulosta työkirjat (count) .FullName Seuraava määrä Debug. Tulosta count End Sub 

Tässä 'count' on muuttuja, joka otetaan aktiivisten työkirjojen määrän laskemiseksi ja aktiivisen työkirjan koko nimen näyttämiseksi. Aktiivisten työkirjojen koko nimi ja määrä näytetään kuvan mukaisesti.

Asemien työkirjan polku näytetään tarkasti käyttämällä VBA debug.print -käskyä.

Muistettavaa

  • Debug .print-tiedoston pääasia ei ole tekstin rivitysvaihtoehto välittömän ikkunan pitkille merkkijonoille
  • Välitön ikkuna tulee tuoda alkuun nähdäksesi tulosteen käyttöliittymässä
  • Välitön-ikkunassa näkyvää pitkää tekstiä on mahdotonta kääriä. Tässä tilanteessa lähtö on näytettävä asemaan tallennettuun tiedostoon.