Excel VBA Paus (paus / stopp) och återuppta ett makro

Denna handledning visar hur du pausar (bryter) och återupptar ett makro i Excel.

Att kunna pausa ett makro medan du testar VBA -kod som har skrivits är ett användbart sätt att räkna ut var "buggar" kan finnas i vår kod. Det finns ett antal sätt att bryta makrot och sedan återuppta det från den punkt där makrot avbröts.

Tangentbordskombinationen Control och Break

Om vi ​​håller ned kontrollknappen och sedan trycker på Paus/Bryt -knappen när VBA -koden körs, kommer koden omedelbart att sluta med ett felsökningsmeddelande som varnar oss för att makrot har körts.

Vi kan sedan trycka på Fortsätta -knappen i dialogrutan som dyker upp för att fortsätta köra makrot. Alternativt, om vi sedan trycker på Debug -knappen i dialogrutan, kommer makrot att markera positionen där det slutade köra. Genom att vila musen över befintliga variabler kan vi sedan se vad som lagras i variablerna. Detta kan vara mycket användbart vid felsökning av vår kod.

Vi kan sedan klicka på Springa -knappen i menyfliksområdet (eller tryck på F5 på tangentbordet) för att fortsätta köra makrot.

Lägga till brytpunkter i makrot

Innan makrot startas kan vi infoga brytpunkter i makrot för att stoppa makrot som specifika kodrader.

Vi kan köra koden genom att klicka på Springa -knappen i menyfliksområdet, eller genom att trycka på F5 på tangentbordet. Makrot stannar vid brytpunkten.

Tryck på knappen Kör igen (bildtexten säger nu Fortsätt) för att återuppta makrot eller tryck på F5.

Det kan finnas andra tillfällen då körningen av ett VBA -makro kan behöva pausas. Detta kan också göras med hjälp av vänta och viloläge. Dessa metoder används mer för att fördröja makrons faktiska framsteg snarare än att användas för att felsöka den faktiska koden.

Till exempel kommer denna kodrad att fördröja makrot från att köras tills ytterligare fem sekunder har gått.

123 Ansökan.Vänta (Nu + TimeValue("0:00:05"))

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave