Huis Sociale Media Foutopsporingstechnieken voor Excel 2016 VBA - dummies

Foutopsporingstechnieken voor Excel 2016 VBA - dummies

Inhoudsopgave:

Anonim

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:

Een berichtvak gebruiken om de waarde van drie variabelen weer te geven.
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.

Een foutopsporing. Afdrukinstructie verzendt uitvoer naar 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.

Foutopsporingstechnieken voor Excel 2016 VBA - dummies

Bewerkers keuze

De flitsuitvoer aanpassen met een Nikon D3100 of D5100 - dummies

De flitsuitvoer aanpassen met een Nikon D3100 of D5100 - dummies

Wanneer u foto's maakt met uw Nikon D3100 of D5100 en de ingebouwde flitser, de camera probeert de flitsoutput aan te passen als dat nodig is om een ​​goede belichting te produceren. Maar als u opnamen maakt in de belichtingsstanden P, S, A of M, wilt u een beetje meer of minder flitslicht dan de camera ...

Pas de instellingen op de Nikon D5600 aan via de controlestrook - dummies

Pas de instellingen op de Nikon D5600 aan via de controlestrook - dummies

De informatieweergave op de Nikon D5600 is niet alleen voor het controleren van de huidige instellingen voor het maken van foto's; het geeft je ook snel toegang tot een aantal van de meest kritieke van die instellingen. U kunt met name de opties aanpassen die worden weergegeven op de twee rijen met gegevens onder aan het scherm, ook wel de controlestrip genoemd. ...

Geavanceerde belichtingsstanden voor uw Nikon D3000 digitale camera - dummy's

Geavanceerde belichtingsstanden voor uw Nikon D3000 digitale camera - dummy's

Om echt creatieve controle te nemen, op te voeren naar een van deze vier belichtingsmodi, waarmee u het diafragma (f-stop) kunt aanpassen om de scherptediepte te manipuleren (de zone van scherpe focus) en de sluitertijd aan te passen om te bepalen of bewegende objecten scherp gefocusseerd of wazig lijken. Je krijgt ook toegang tot een aantal functies die niet beschikbaar zijn in ...

Bewerkers keuze

Hoe je een binnenste omtrek tekent in SketchUp - dummies

Hoe je een binnenste omtrek tekent in SketchUp - dummies

Omdat het hoofddoel van het maken van een interieur is model van een gebouw in SketchUp moet eindigen met nauwkeurige binnenruimtes, je moet van binnenuit werken. Als je meetlint lang genoeg is, probeer dan een manier te vinden om de belangrijkste dimensies eerst te krijgen - dit betekent het totale interieur ...

Een binnenomtrek tekenen in Google SketchUp 8 - dummies

Een binnenomtrek tekenen in Google SketchUp 8 - dummies

Omdat het hoofddoel van het maken van een interieurmodel van een gebouw in Google SketchUp moet eindigen met nauwkeurige binnenruimten, je moet van binnen naar buiten werken. Als je meetlint lang genoeg is, probeer dan een manier te vinden om de belangrijkste dimensies eerst te krijgen - dit betekent het totaal ...

Tekenen van randen in Google SketchUp 8 - dummies

Tekenen van randen in Google SketchUp 8 - dummies

SketchUp-modellen zijn eigenlijk gewoon fraaie randverzamelingen, en je gebruikt het gereedschap Lijn om individuele randen te tekenen. Dus alles wat u in SketchUp maakt, kunt u maken met het gereedschap Lijn. Het gereedschap Lijn kunnen gebruiken zonder er al te veel over na te denken, is het geheim van het kunnen modelleren ...

Bewerkers keuze

Hoe maak je je eigen cameramenu op de Rebel t5i - dummies

Hoe maak je je eigen cameramenu op de Rebel t5i - dummies

Canon doet een goed werk om het gemakkelijk te maken om de meest gebruikte camera-instellingen op je Rebel t5i te veranderen. U hebt toegang tot veel kritieke opties door op de knoppen op de camerabody te drukken, terwijl andere slechts een snelle trip naar de cameramenu's vereisen. Om het proces nog eenvoudiger te maken, kunt u ...

Hoe u videofoto's kunt maken op de Rebel t5i - dummies

Hoe u videofoto's kunt maken op de Rebel t5i - dummies

De videofotofunctie op de Canon Rebel Met t5i kunt u korte videoclips vastleggen die u in een enkele opname naait, een video-album genoemd. Enkele relevante feiten voordat u begint met de volgende stappen: Elke clip kan niet langer zijn dan 8 seconden. Je kunt ook 2- en 4-seconden opnemen ...

Hoe je je eigen belichtingsmodus creëert op een Canon EOS 70D - dummies

Hoe je je eigen belichtingsmodus creëert op een Canon EOS 70D - dummies

Een van de handigste functies van je Canon EOS 70D voor de ervaren fotograaf is de instelling C op de keuzeschakelaar. Deze optie, die staat voor Camera User Settings, stelt u in staat om uw eigen belichtingsmodus in te stellen. U begint met het selecteren en opslaan van alle camera-instellingen die u wilt gebruiken wanneer ...