Hibakeresési technikák az Excel 2016 VBA-hoz

Problémákba ütközhet a VBA-kóddal, de hogyan találja meg a problémát? Néha előfordulhat, hogy a VBA-kód hibakeresést igényel. Olvassa tovább, és fedezze fel az Excel VBA-kód hibakeresésének négy leggyakoribb módszerét:

  • A kód vizsgálata

  • MsgBox függvények beszúrása a kód különböző helyeire

  • Debug.Print utasítások beszúrása

  • Az Excel beépített hibakereső eszközeinek használata

A kódod vizsgálata

Talán a legegyszerűbb hibakeresési technika egyszerűen csak alaposan megnézi a kódot, hogy megtudja, megtalálja-e a problémát. Ez a módszer természetesen tudást és tapasztalatot igényel. Más szóval, tudnod kell, mit csinálsz. Ha szerencséd van, a hiba azonnal kiugrik, és rácsapsz a homlokodra, és azt mondod: "Ó!" Amikor a homlokfájdalom csökken, megoldhatja a problémát.

Figyeld meg a „ha szerencséd van” szavak használatát. Ennek az az oka, hogy gyakran akkor fedez fel hibákat, amikor már nyolc órája folyamatosan dolgozik a programján, hajnali 2 óra van, és koffeinnel és akaraterővel dolgozik. Ilyenkor szerencsés vagy, ha még a kódodat is látod, nemhogy megtalálod a hibákat. Ezért ne lepődjön meg, ha a kód egyszerű vizsgálata nem elegendő ahhoz, hogy megtalálja és törölje a benne található hibákat.

Az MsgBox funkció használata

Sok programban gyakori probléma, hogy egy vagy több változó nem veszi fel a várt értékeket. Ilyen esetekben a változó(k) figyelése a kód futása közben hasznos hibakeresési technika. Ennek egyik módja az, hogy ideiglenes MsgBox függvényeket illeszt be a rutinjába. Például, ha van egy CellCount nevű változója, beillesztheti a következő utasítást:

MsgBox CellCount

A rutin végrehajtásakor az MsgBox függvény megjeleníti a CellCount értékét.

Gyakran hasznos két vagy több változó értékének megjelenítése az üzenetmezőben. A következő utasítás két változó aktuális értékét jeleníti meg: LoopIndex (1) és CellCount (72), szóközzel elválasztva.

MsgBox LoopIndex & " " & CellCount

Figyeljük meg, hogy a két változó az összefűzési operátorral (&) van kombinálva, és szúrjon közéjük egy szóközt. Ellenkező esetben az üzenetmező összefűzi a két értéket, így azok egyetlen értéknek tűnnek. A szóköz helyett használhatja a beépített állandót, a vbNewLine-t is. A vbNewLine soremelési törést szúr be, amely a szöveget egy új sorban jeleníti meg. A következő utasítás három változót jelenít meg, mindegyik külön sorban:

Hibakeresési technikák az Excel 2016 VBA-hoz

Üzenetdoboz használata három változó értékének megjelenítéséhez.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Ez a technika nem korlátozódik a változók figyelésére. Üzenetdoboz segítségével mindenféle hasznos információt megjeleníthet, miközben a kód fut. Például, ha a kód egy sor lapon fut keresztül, a következő utasítás megjeleníti az aktív lap nevét és típusát:

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

Ha az üzenetablak valami váratlant mutat, nyomja le a Ctrl+Break billentyűkombinációt, és megjelenik egy párbeszédpanel, amely közli, hogy a kódvégrehajtás megszakadt, négy lehetőség közül választhat:

  • Kattintson a Folytatás gombra. A kód végrehajtása folytatódik.

  • Kattintson a Befejezés gombra. A végrehajtás leáll.

  • Kattintson a Debug gombra. A VBE Debug módba lép.

  • Kattintson a Súgó gombra. A súgó képernyőn megjelenik, hogy megnyomta a Ctrl+Break billentyűkombinációt. Más szóval, ez nem túl hasznos.

    Hibakeresési technikák az Excel 2016 VBA-hoz

    A Ctrl+Break lenyomása leállítja a kód végrehajtását, és néhány választási lehetőséget kínál.

Ha a billentyűzeten nincs Break billentyű, próbálja meg lenyomni a Ctrl+ScrollLock billentyűkombinációt.

Nyugodtan használja gyakran az MsgBox funkcióit a kód hibakeresése során. Csak a probléma azonosítása és kijavítása után távolítsa el őket.

Debug.Print utasítások beszúrása

Az MsgBox függvények kódjában való használatának alternatívájaként beszúrhat egy vagy több ideiglenes Debug.Print utasítást. Ezekkel az utasításokkal nyomtathatja ki egy vagy több változó értékét az azonnali ablakban. Íme egy példa, amely három változó értékét jeleníti meg:

Debug.Print LoopIndex, CellCount, MyVal

Figyeljük meg, hogy a változókat vesszővel választjuk el. Egyetlen Debug.Print utasítással tetszőleges számú változót jeleníthet meg.

A Debug.Print akkor is elküldi a kimenetet az azonnali ablaknak, ha az ablak el van rejtve. Ha a VBE azonnali ablaka nem látható, nyomja le a Ctrl+G billentyűkombinációt (vagy válassza a Nézet → Azonnali ablak menüpontot). Íme néhány kimenet az azonnali ablakban.

Hibakeresési technikák az Excel 2016 VBA-hoz

A Debug.Print utasítás kimenetet küld az azonnali ablakba.

Az MsgBox-szal ellentétben a Debug.Print utasítások nem állítják le a kódot. Ezért figyelnie kell az azonnali ablakot, hogy lássa, mi történik.

A kód hibakeresése után feltétlenül távolítsa el az összes Debug.Print utasítást. Még a nagy cégek, például a Microsoft is, időnként elfelejtik eltávolítani a Debug.Print nyilatkozataikat. Az Excel számos korábbi verziójában minden alkalommal, amikor az Analysis ToolPak bővítményt megnyitották, számos furcsa üzenetet láthatott az azonnali ablakban. Ezt a problémát végül az Excel 2007-ben javították.

A VBA hibakereső használata

Az Excel tervezői nagyon jól ismerik a hibák fogalmát. Következésképpen az Excel tartalmaz egy sor hibakereső eszközt, amelyek segítenek kijavítani a VBA-kóddal kapcsolatos problémákat.


Hogyan akadályozható meg a Microsoft Word fájlok csak olvasható módban történő megnyitása a Windows rendszeren

Hogyan akadályozható meg a Microsoft Word fájlok csak olvasható módban történő megnyitása a Windows rendszeren

Hogyan lehet megakadályozni, hogy a Microsoft Word csak olvasható módban nyissa meg a fájlokat Windowson A Microsoft Word csak olvasható módban nyitja meg a fájlokat, így lehetetlenné teszi a szerkesztést? Ne aggódjon, a módszerek az alábbiakban találhatók

A Microsoft Word dokumentumok hibás nyomtatásának javítása

A Microsoft Word dokumentumok hibás nyomtatásának javítása

A nem megfelelő Microsoft Word dokumentumok nyomtatásának hibáinak kijavítása Meglehetősen gyakoriak a megváltozott betűtípusú, rendetlen bekezdésekkel, hiányzó szöveggel vagy elveszett tartalommal rendelkező Word dokumentumok nyomtatásának hibái. Azonban ne

Törölje a toll és a kiemelő rajzokat a PowerPoint diákon

Törölje a toll és a kiemelő rajzokat a PowerPoint diákon

Ha prezentáció közben a tollat ​​vagy a kiemelőt használta a PowerPoint diákra való rajzoláshoz, mentheti a rajzokat a következő bemutatóhoz, vagy törölheti őket, így a következő bemutatáskor tiszta PowerPoint diákkal kezdheti. Kövesse az alábbi utasításokat a toll- és kiemelőrajzok törléséhez: A vonalak törlése egyenként […]

A könyvtár tartalmának stílusa a SharePoint 2010-ben

A könyvtár tartalmának stílusa a SharePoint 2010-ben

A Stíluskönyvtár CSS-fájlokat, XSL-fájlokat, valamint előre meghatározott mesteroldalak, oldalelrendezések és vezérlők által használt képeket tartalmaz a SharePoint 2010-ben. A CSS-fájlok megkereséséhez a közzétételi webhely stíluskönyvtárában: Válassza a Webhelyműveletek→Nézet lehetőséget. A webhely összes tartalma. Megjelenik az oldal tartalma. A Style könyvtár a […]

Formázza a számokat ezrekben és milliókban az Excel-jelentésekben

Formázza a számokat ezrekben és milliókban az Excel-jelentésekben

Ne árassza el közönségét óriási számokkal. A Microsoft Excelben javíthatja irányítópultjai és jelentései olvashatóságát, ha a számokat több ezerben vagy millióban formázza.

SharePoint webhelyek megosztása és követése

SharePoint webhelyek megosztása és követése

Ismerje meg, hogyan használhatja a SharePoints közösségi hálózati eszközöket, amelyek lehetővé teszik az egyének és csoportok közötti kommunikációt, együttműködést, megosztást és kapcsolódást.

Dátumok konvertálása Julian-formátumba az Excelben

Dátumok konvertálása Julian-formátumba az Excelben

A Julian-dátumokat gyártási környezetekben gyakran használják időbélyegként és gyors hivatkozásként a tételszámhoz. Az ilyen típusú dátumkódolás lehetővé teszi a kiskereskedők, fogyasztók és szervizek számára, hogy azonosítsák a termék elkészítésének időpontját, és ezáltal a termék korát. A Julian-dátumot a programozásban, a katonaságban és a csillagászatban is használják. Különböző […]

Access Web App létrehozása

Access Web App létrehozása

Létrehozhat webalkalmazást az Access 2016-ban. Tehát mi az a webalkalmazás? Nos, a web azt jelenti, hogy online van, az alkalmazás pedig az „alkalmazás” rövidítése. Az egyéni webalkalmazás egy online adatbázis-alkalmazás, amely a felhőből, böngészővel érhető el. Ön elkészíti és karbantartja a webalkalmazást az asztali verzióban […]

Gyorsindító sáv a SharePoint 2010-ben

Gyorsindító sáv a SharePoint 2010-ben

A SharePoint 2010 legtöbb oldala a navigációs hivatkozások listáját jeleníti meg az oldal bal oldalán található Gyorsindító sávon. A Gyorsindító sáv hivatkozásokat jelenít meg a kiemelt webhelytartalomra, például listákra, könyvtárakra, webhelyekre és közzétételi oldalakra. A Gyorsindító sáv két nagyon fontos hivatkozást tartalmaz: Az összes webhelytartalom linkje: A […]

Mit jelentenek a Solver hibaüzenetek az Excelben?

Mit jelentenek a Solver hibaüzenetek az Excelben?

Egyszerű problémák esetén az Excelben található Megoldó rendszerint gyorsan megtalálja a célfüggvény optimális Megoldóváltozó-értékeit. Bizonyos esetekben azonban a Solver nehezen találja meg a Solver változó értékeit, amelyek optimalizálják a célfüggvényt. Ezekben az esetekben a Solver általában egy üzenetet vagy hibaüzenetet jelenít meg, amely leírja vagy megvitatja a […]