Inhoudsopgave:
- Uw code onderzoeken
- Gebruik van de MSgBox-functie
- Foutopsporing invoegen. Afdrukinstructies
- De VBA-foutopsporing gebruiken
U kunt enkele problemen tegenkomen met uw VBA-code, maar hoe vindt u het probleem? Soms heeft uw VBA-code mogelijk enige foutopsporing nodig. Blijf lezen om de vier meest voorkomende methoden te vinden voor het debuggen van Excel VBA-code:
-
De code onderzoeken
-
MsgBox-functies invoegen op verschillende locaties in uw code
-
Foutopsporing invoegen. Afdrukinstructies
-
De ingebouwde foutopsporingshulpprogramma's van Excel gebruiken
Uw code onderzoeken
Misschien is de eenvoudigste foutopsporingstechniek gewoon het nauwkeurig bestuderen van uw code om te zien of u het probleem kunt vinden. Deze methode vereist uiteraard kennis en ervaring. Met andere woorden, je moet weten wat je doet. Als je geluk hebt, springt de fout recht uit je klap op je voorhoofd en zeg je: "Oh! "Wanneer de pijn in het voorhoofd afneemt, kun je het probleem oplossen.
Let op het gebruik van de woorden: "Als je geluk hebt. "Dat komt omdat je vaak fouten ontdekt wanneer je acht uur achter elkaar aan je programma hebt gewerkt, het is 2 a. m. en je loopt op cafeïne en wilskracht. Op zulke momenten heb je geluk als je je code zelfs kunt zien, laat staan dat je de fouten kunt vinden. Wees dus niet verbaasd als het simpelweg onderzoeken van je code niet genoeg is om je alle bugs die het bevat te vinden en te verwijderen.
Gebruik van de MSgBox-functie
Een veelvoorkomend probleem bij veel programma's betreft een of meer variabelen die niet de waarden aannemen die u verwacht. In dergelijke gevallen is het bewaken van de variabele (n) terwijl uw code wordt uitgevoerd een nuttige foutopsporingstechniek. Een manier om dit te doen is door tijdelijke MsgBox-functies in uw routine in te voegen. Als u bijvoorbeeld een variabele met de naam CellCount hebt, kunt u de volgende instructie invoegen:
MsgBox CellCount
Wanneer u de routine uitvoert, geeft de functie MsgBox de waarde van CellCount weer.
Het is vaak handig om de waarden van twee of meer variabelen in het berichtvenster weer te geven. De volgende instructie geeft de huidige waarde van twee variabelen weer: LoopIndex (1) en CellCount (72), gescheiden door een spatie.
MsgBox LoopIndex & "" & CellCount
Merk op dat de twee variabelen gecombineerd worden met de aaneenschakelingsoperator (&) en voeg er een spatie tussen in. Anders verbindt het berichtvenster de twee waarden door elkaar, waardoor ze eruit zien als één waarde. U kunt ook de ingebouwde constante, vbNewLine, gebruiken in plaats van het spatieteken. vbNewLine voegt een regelinvoeronderbreking in, die de tekst op een nieuwe regel weergeeft. In de volgende instructie worden drie variabelen weergegeven, elk op een afzonderlijke regel:
MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal
Deze techniek is niet beperkt tot bewakingsvariabelen. U kunt een berichtvenster gebruiken om allerlei nuttige informatie weer te geven terwijl uw code actief is. Als uw code bijvoorbeeld door een reeks vellen loopt, worden in de volgende instructie de naam en het type actieve blad weergegeven:
MsgBox ActiveSheet. Naam & "" & TypeNaam (ActiveSheet)
Als uw berichtvenster iets onverwachts toont, drukt u op Ctrl + Break en ziet u een dialoogvenster dat aangeeft dat de uitvoering van de code is onderbroken, u hebt vier keuzes:
-
Klik op de knop Doorgaan knop. De code blijft uitvoeren.
-
Klik op de knop Beëindigen. Uitvoering stopt.
-
Klik op de knop Debug. De VBE gaat naar de Debug-modus.
-
Klik op de knop Help. Een hulpscherm vertelt je dat je op Ctrl + Break hebt gedrukt. Met andere woorden, het is niet erg behulpzaam.
Als u op Ctrl + Break drukt, wordt de uitvoering van uw code gestopt en krijgt u een aantal keuzes.
Als je toetsenbord geen breektoets heeft, druk je op Ctrl + ScrollLock.
Voel je vrij om MsgBox-functies vaak te gebruiken als je je code hebt foutopsporing. Zorg ervoor dat u ze verwijdert nadat u het probleem hebt geïdentificeerd en verholpen.
Foutopsporing invoegen. Afdrukinstructies
Als een alternatief voor het gebruik van MsgBox-functies in uw code, kunt u een of meer tijdelijke foutopsporing invoegen. Afschriften afdrukken. Gebruik deze instructies om de waarde van een of meer variabelen in het venster Onmiddellijk af te drukken. Hier is een voorbeeld dat de waarden van drie variabelen toont:
Debug. Print LoopIndex, CellCount, MyVal
Merk op dat de variabelen gescheiden zijn met komma's. U kunt zoveel variabelen weergeven als u wilt met een enkele foutopsporing. Print verklaring.
Debug. Print stuurt output naar het Directe venster, zelfs als dat venster verborgen is. Als het directe venster van VBE niet zichtbaar is, drukt u op Ctrl + G (of kiest u Beeld → Direct venster). Hier is wat output in het Directe venster.
Anders dan MsgBox, Debug. Afdrukinstructies stoppen uw code niet. Dus moet je het Onmiddelijke venster in de gaten houden om te zien wat er aan de hand is.
Verwijder na het debuggen van uw code alle foutopsporing. Afschriften afdrukken. Zelfs grote bedrijven zoals Microsoft vergeten af en toe hun debug te verwijderen. Afschriften afdrukken. In verschillende vorige versies van Excel zag u telkens wanneer de invoegtoepassing Analysis ToolPak werd geopend, verschillende vreemde berichten in het venster Onmiddellijk. Dat probleem werd uiteindelijk opgelost in Excel 2007.
De VBA-foutopsporing gebruiken
De Excel-ontwerpers zijn goed bekend met het concept van fouten. Daarom bevat Excel een reeks hulpprogramma's voor foutopsporing waarmee u problemen in uw VBA-code kunt verhelpen.
