Vianetsintätekniikat Excel 2016 VBA:lle

Saatat kohdata ongelmia VBA-koodisi kanssa, mutta miten löydät ongelman? Joskus VBA-koodisi saattaa vaatia virheenkorjausta. Jatka lukemista löytääksesi neljä yleisintä tapaa Excel VBA -koodin virheenkorjaukseen:

  • Koodia tutkimassa

  • MsgBox-toimintojen lisääminen koodin eri paikkoihin

  • Lisätään Debug.Print-lauseita

  • Excelin sisäänrakennettujen virheenkorjaustyökalujen käyttäminen

Koodisi tutkiminen

Ehkä yksinkertaisin virheenkorjaustekniikka on yksinkertaisesti tarkastella koodia tarkasti nähdäksesi, voitko löytää ongelman. Tämä menetelmä vaatii tietysti tietoa ja kokemusta. Toisin sanoen sinun on tiedettävä, mitä olet tekemässä. Jos olet onnekas, virhe pomppaaa heti esiin, ja lyöt otsaasi ja sanot: "Oho!" Kun otsakipu vähenee, voit korjata ongelman.

Huomaa sanojen "Jos olet onnekas" käyttö. Tämä johtuu siitä, että usein huomaat virheitä, kun olet työskennellyt ohjelman parissa kahdeksan tuntia putkeen, kello on kaksi yöllä ja käytät kofeiinia ja tahdonvoimaa. Tällaisina aikoina olet onnekas, jos näet edes koodisi, saati sitten löytää bugit. Älä siis hämmästy, jos pelkkä koodisi tutkiminen ei riitä löytämään ja poistamaan kaikki sen sisältämät virheet.

MsgBox-toiminnon käyttäminen

Yleinen ongelma monissa ohjelmissa liittyy siihen, että yksi tai useampi muuttuja ei ota odottamiasi arvoja. Tällaisissa tapauksissa muuttujien tarkkailu koodin suorituksen aikana on hyödyllinen virheenkorjaustekniikka. Yksi tapa tehdä tämä on lisätä tilapäisiä MsgBox-toimintoja rutiiniin. Jos sinulla on esimerkiksi muuttuja nimeltä CellCount, voit lisätä seuraavan lauseen:

MsgBox CellCount

Kun suoritat rutiinin, MsgBox-toiminto näyttää CellCountin arvon.

Usein on hyödyllistä näyttää kahden tai useamman muuttujan arvot viestiruudussa. Seuraava lause näyttää kahden muuttujan nykyisen arvon: LoopIndex (1) ja CellCount (72) välilyönnillä erotettuna.

MsgBox LoopIndex & " " & CellCount

Huomaa, että nämä kaksi muuttujaa yhdistetään ketjutusoperaattoriin (&) ja lisää välilyöntimerkki niiden väliin. Muussa tapauksessa viestilaatikko yhdistää nämä kaksi arvoa, jolloin ne näyttävät yhdeltä arvolta. Voit myös käyttää sisäänrakennettua vakiota vbNewLine välilyönnin sijaan. vbNewLine lisää rivinvaihdon, joka näyttää tekstin uudelle riville. Seuraava lause näyttää kolme muuttujaa, joista jokainen on omalla rivillään:

Vianetsintätekniikat Excel 2016 VBA:lle

Viestiruudun käyttäminen kolmen muuttujan arvon näyttämiseen.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Tämä tekniikka ei rajoitu muuttujien seurantaan. Voit käyttää viestiruutua näyttääksesi kaikenlaisia ​​hyödyllisiä tietoja koodisi ollessa käynnissä. Jos koodisi esimerkiksi kiertää taulukoiden sarjan läpi, seuraava käsky näyttää aktiivisen taulukon nimen ja tyypin:

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

Jos viestilaatikossasi näkyy jotain odottamatonta, paina Ctrl+Break ja näet valintaikkunan, joka kertoo, että koodin suoritus on keskeytetty, sinulla on neljä vaihtoehtoa:

  • Napsauta Jatka-painiketta. Koodi jatkaa suoritusta.

  • Napsauta Lopeta-painiketta. Toteutus pysähtyy.

  • Napsauta Debug-painiketta. VBE siirtyy Debug-tilaan.

  • Napsauta Ohje-painiketta. Ohjenäyttö kertoo, että painat Ctrl+Break. Toisin sanoen, se ei ole kovin hyödyllinen.

    Vianetsintätekniikat Excel 2016 VBA:lle

    Ctrl+Break-näppäinten painaminen pysäyttää koodin suorittamisen ja antaa sinulle joitain vaihtoehtoja.

Jos näppäimistössäsi ei ole Break-näppäintä, kokeile painaa Ctrl+ScrollLock.

Voit vapaasti käyttää MsgBox-toimintoja usein, kun suoritat koodin virheenkorjauksen. Varmista vain, että poistat ne, kun olet tunnistanut ja korjaanut ongelman.

Lisätään Debug.Print-lauseita

Vaihtoehtona MsgBox-toimintojen käyttämiselle koodissa voit lisätä yhden tai useamman väliaikaisen Debug.Print-lausekkeen. Käytä näitä lauseita tulostaaksesi yhden tai useamman muuttujan arvon Välitön-ikkunassa. Tässä on esimerkki, joka näyttää kolmen muuttujan arvot:

Debug.Print LoopIndex, CellCount, MyVal

Huomaa, että muuttujat erotetaan pilkuilla. Voit näyttää niin monta muuttujaa kuin haluat yhdellä Debug.Print-käskyllä.

Debug.Print lähettää tulosteen Välittömään ikkunaan, vaikka se olisi piilotettu. Jos VBE:n välitön ikkuna ei ole näkyvissä, paina Ctrl+G (tai valitse Näytä → Välitön ikkuna). Tässä on välitöntä ikkunaa.

Vianetsintätekniikat Excel 2016 VBA:lle

Debug.Print-käsky lähettää tulosteen välittömään ikkunaan.

Toisin kuin MsgBox, Debug.Print-lauseet eivät pysäytä koodia. Joten sinun on pidettävä silmällä välitöntä ikkunaa nähdäksesi mitä tapahtuu.

Kun olet tehnyt virheenkorjauksen koodistasi, muista poistaa kaikki Debug.Print-lausekkeet. Jopa suuret yritykset, kuten Microsoft, unohtavat toisinaan poistaa Debug.Print-lausumansa. Useissa aiemmissa Excelin versioissa näet useita outoja viestejä Välittömässä ikkunassa joka kerta, kun Analysis ToolPak -apuohjelma avattiin. Ongelma korjattiin lopulta Excel 2007:ssä.

VBA-debuggerin käyttö

Excel-suunnittelijat tuntevat hyvin vikojen käsitteen. Tästä syystä Excel sisältää joukon virheenkorjaustyökaluja, jotka voivat auttaa sinua korjaamaan VBA-koodin ongelmia.


Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa Microsoft Word avaa tiedostot vain luku -tilassa, jolloin niiden muokkaaminen on mahdotonta? Älä huoli, menetelmät ovat alla

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Virheiden korjaaminen virheellisten Microsoft Word -asiakirjojen tulostuksessa. Virheet tulostettaessa Word-asiakirjoja, joissa on muuttuneet fontit, sotkuiset kappaleet, puuttuva teksti tai kadonnut sisältö ovat melko yleisiä. Älä kuitenkaan

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Jos olet piirtänyt PowerPoint-dioihin esityksen aikana kynää tai korostuskynää, voit tallentaa piirustukset seuraavaa esitystä varten tai poistaa ne, jotta seuraavan kerran näytät ne. Aloitat puhtailla PowerPoint-dioilla. Pyyhi kynä- ja korostuskynäpiirrokset noudattamalla näitä ohjeita: Pyyhi rivit yksi kerrallaan […]

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjasto sisältää CSS-tiedostoja, Extensible Stylesheet Language (XSL) -tiedostoja ja kuvia, joita käyttävät ennalta määritetyt sivupohjat, sivuasettelut ja säätimet SharePoint 2010:ssä. CSS-tiedostojen etsiminen julkaisusivuston tyylikirjastosta: Valitse Sivuston toiminnot→ Näytä Kaikki sivuston sisältö. Sivuston sisältö tulee näkyviin. Style-kirjasto sijaitsee […]

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Älä hukuta yleisöäsi jättimäisillä numeroilla. Microsoft Excelissä voit parantaa koontinäyttöjesi ja raporttiesi luettavuutta muotoilemalla numerot näyttämään tuhansia tai miljoonia.

SharePoint-sivustojen jakaminen ja seuraaminen

SharePoint-sivustojen jakaminen ja seuraaminen

Opi käyttämään SharePointin sosiaalisen verkostoitumisen työkaluja, joiden avulla yksilöt ja ryhmät voivat kommunikoida, tehdä yhteistyötä, jakaa ja pitää yhteyttä.

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Juliaanisia päivämääriä käytetään usein valmistusympäristöissä aikaleimana ja pikaviitteenä eränumerolle. Tämän tyyppisen päivämääräkoodauksen avulla jälleenmyyjät, kuluttajat ja huoltoedustajat voivat tunnistaa tuotteen valmistusajankohdan ja siten tuotteen iän. Julian-päivämääriä käytetään myös ohjelmoinnissa, armeijassa ja tähtitiedessä. Erilainen […]

Access-verkkosovelluksen luominen

Access-verkkosovelluksen luominen

Voit luoda verkkosovelluksen Access 2016:ssa. Mikä verkkosovellus sitten on? No, verkko tarkoittaa, että se on verkossa, ja sovellus on vain lyhenne sanoista "sovellus". Mukautettu verkkosovellus on online-tietokantasovellus, jota käytetään pilvestä selaimen avulla. Rakennat ja ylläpidät verkkosovellusta työpöytäversiossa […]

Pikakäynnistyspalkki SharePoint 2010:ssä

Pikakäynnistyspalkki SharePoint 2010:ssä

Useimmat SharePoint 2010:n sivut näyttävät navigointilinkkien luettelon pikakäynnistyspalkissa sivun vasemmassa reunassa. Pikakäynnistyspalkki näyttää linkit esitellyn sivuston sisältöön, kuten luetteloihin, kirjastoihin, sivustoihin ja julkaisusivuihin. Pikakäynnistyspalkki sisältää kaksi erittäin tärkeää linkkiä: Koko sivuston sisältö -linkki: […]

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Yksinkertaisille ongelmille Excelin Ratkaisija löytää yleensä nopeasti optimaaliset Ratkaisijamuuttujien arvot tavoitefunktiolle. Mutta joissakin tapauksissa Ratkaisijalla on vaikeuksia löytää Solver-muuttujan arvoja, jotka optimoivat tavoitefunktion. Näissä tapauksissa Ratkaisija näyttää yleensä viestin tai virheilmoituksen, joka kuvaa tai käsittelee ongelmaa, jonka […]