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

Excel VBA -vianetsintä. Tulosta

Debug Print 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ää kehoteikkunan lähdön, kun suoritamme ohjelmaa ilman virheitä.

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 aikaa käyttäjille. 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öön tulevissa viesteissä ja vakuuttaa hyödyllisenä olosuhteiden arvioinnissa. VBA: ssa virheenkorjaus. Tulostuslauseketta 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ä ne vaikuta 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ä testattaessa tai arvioitaessa koodia sen varmistamiseksi, että se toimii oikein vai ei. Se tulostaa muuttujat, merkkijonot, numerot, taulukon, arvot 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ä lause voi siirtää lähdön välittömään ikkunaan, vaikka ikkunaa ei avatakaan. Se ei lopeta koodin suorittamista kuten Msgboxissa. Tämä joustavuus tukee koodin muutoksiin liittyvien tulosten muutosten jatkuvaa seurantaa.

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.

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 kehoteikkunassa. Paina CTRL + G nähdäksesi tuloksen, kuten kuvakaappauksessa näkyy.

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 tuloksen samalla rivillä, kuten kuvakaappauksessa näkyy.

Esimerkki # 2 - Tulosta tiedoston virheenkorjaus

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!" Virheenkorjaus Tulosta kirjoita välittömään ikkunaan Tulosta #num, kirjoita tulosteet 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ä. Sarake nimeltä “Hello World” ilmoitetaan muuttujaksi S.

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

The output to file is shown in the below-mentioned figure.

Printing output to file is beneficial when long text is presented.

Example #3 - Displaying the Factorial of a Number in the Immediate Window

This example illustrates the use of the debug-a print statement to show the factorial of a number.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Next Count Debug.Print Fact End Sub

To determine the factorial, three variables are considered, including the count, number, and fact. For loop is taken to repeat the multiplication of fact-value with count to determine factorial of the number.

Here, debug. The print statement is used outside the “for” loop to display the value after completing the circle. The output is determined.

If we use debug. Print statement inside the “for” loop, the fact-value is displayed for every recurring time, as shown in the figure.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Debug.Print Fact Next Count End Sub

Run the code by pressing the F5 key and see the output in the immediate window. In this situation, we should consider the last value as the factorial of the given number.

Example #4 - Printing the Full name of the Active Workbook

This example explains how to print the current workbook name into the prompt window.

The program is developed, as shown in the figure.

Code:

Sub Activework() Dim count As Long For count = 1 To Workbooks.count Debug.Print Workbooks(count).FullName Next count Debug.Print 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. Näyttöön tulee aktiivisten työkirjojen koko nimi ja määrä kuvan osoittamalla tavalla.

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

Muistettavaa

  • Debug .print-ongelman 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 tulos on näytettävä asemaan tallennetulle tiedostolle.

Mielenkiintoisia artikkeleita...