Om du ska lägga tid på att arbeta med makron i Visual Basic Editor, varför inte dra nytta av några av de inbyggda verktygen som kommer att göra ditt jobb enklare? Dessa tips kommer att avsevärt förbättra din upplevelse av makroprogrammering.
Använder blockkommentarer
Att placera en enda apostrof framför valfri kodrad säger åt Excel att hoppa över den kodraden. Denna teknik kallas för att kommentera kod. De flesta programmerare använder den enda apostrof för att skapa kommentarer eller anteckningar i koden, som visas här.
En enda apostrof framför en rad förvandlar den raden till en kommentar.
Det är ibland fördelaktigt att kommentera flera rader kod. På så sätt kan du testa vissa kodrader samtidigt som du säger åt Excel att ignorera de kommenterade raderna.
Istället för att lägga ner tid på att kommentera en rad i taget kan du använda verktygsfältet Redigera för att kommentera ett helt kodblock.
För att aktivera verktygsfältet Redigera, gå till VBE-menyn och välj Visa→ Verktygsfält→ Redigera. Välj de kodrader du vill kommentera och klicka sedan på ikonen Kommentarsblock i verktygsfältet Redigera, som visas här.
Använd verktygsfältet Redigera för att lägga till kommentarer på ett kodblock.
Kopiera flera rader kod
Du kan kopiera hela kodblock genom att markera de rader du behöver och sedan hålla ned Ctrl-tangenten medan du drar blocket. Det här gamla Windows-tricket fungerar även när du drar över moduler.
Du vet att du drar en kopia när markören visar en plussymbol bredvid den, som visas här.
Ctrl-dra för att skapa en kopia.
Hoppa mellan moduler och procedurer
Efter att din cache med makrokod börjar växa kan det vara jobbigt att snabbt flytta mellan moduler och procedurer. Du kan lindra smärtan genom att använda några snabbtangenter.
Teleporterar till dina funktioner
När du granskar ett makro kan du stöta på en variabel eller ett funktionsnamn som uppenbarligen pekar på någon annan kod. Istället för att leta igenom alla moduler för att hitta var funktionen eller variabelnamnet kommer ifrån, kan du helt enkelt placera markören på funktionen eller variabelnamnet och trycka på Skift+F2.
Som den här figuren illustrerar, teleporteras du omedelbart till ursprunget för den funktionen eller variabelnamnet. Genom att trycka på Ctrl+Skift+F2 kommer du tillbaka till där du började.
Tryck Skift+F2 på ett funktions- eller variabelnamn för att ta till den.
Att hålla sig i rätt procedur
När dina moduler innehåller flera procedurer kan det vara svårt att rulla igenom en viss procedur utan att oavsiktligt rulla in i en annan procedur. Du kommer ofta att hitta dig själv med att scrolla upp och sedan ner och försöka komma tillbaka till rätt kod.
För att undvika detta nonsens, klicka på knappen Procedurvy i det nedre vänstra hörnet av VBE, som visas här. Om du gör det begränsas rullningen till endast den procedur du befinner dig i.
Begränsa rullningen till den aktiva proceduren.
Går igenom din kod
För att gå igenom din kod måste du sätta ditt makro i felsökningsläge. Placera helt enkelt markören var som helst i ditt makro och tryck sedan på F8-tangenten.
I programmering betyder termen debugging att hitta och korrigera eventuella fel i kod. Ett av de mer användbara felsökningsverktygen är möjligheten att gå igenom din kod en rad i taget. När du går igenom koden ser du att varje rad exekveras.
Den första raden med kod är markerad och en liten pil visas på kodfönstrets vänstra marginal, som visas här. Tryck på F8 igen för att utföra den markerade kodraden och gå till nästa rad. Fortsätt att trycka på F8 för att se varje rad exekveras till slutet av makrot.
Tryck på F8 för att gå igenom varje rad i ditt makro.
För att komma ur felsökningsläget, gå upp till VBE-menyn och välj Debug→Step Out.
Gå till en specifik kodrad
Vad händer om du vill börja gå igenom din kod på en specifik rad? Tja, du kan göra just det genom att helt enkelt flytta pilen!
När en kodrad är markerad i felsökningsläge kan du klicka och dra pilen i kodfönstrets vänstra marginal uppåt eller nedåt och släppa den på vilken kodrad du vill köra härnäst, som visas här.
Dra pilen medan du går igenom din kod.
Stoppa kod vid en fördefinierad punkt
När du ställer in en brytpunkt kommer din kod att köras som vanligt och stannar sedan vid kodraden där du definierade som brytpunkten.
Denna felsökningsteknik är praktisk när du vill köra tester av små kodblock åt gången. Om du till exempel misstänker att det kan finnas ett fel i ditt makro men du vet att majoriteten av makrot körs utan problem, kan du ställa in en brytpunkt som börjar på den misstänkta kodraden och sedan köra makrot. När makrot når din brytpunkt stoppas körningen. Vid det här laget kan du sedan trycka på F8-tangenten på ditt tangentbord för att se när makrot körs en rad i taget.
För att ställa in en brytpunkt i din kod, placera markören där du vill att brytpunkten ska börja och tryck sedan på F9-tangenten på ditt tangentbord. VBA kommer tydligt att markera brytpunkten med en prick i kodfönstrets vänstra marginal, och själva kodraden kommer att vara skuggad rödbrun.
En brytpunkt markeras med en punkt och skuggad text.
När ditt makro träffar en brytpunkt kommer det effektivt att placeras i felsökningsläge. För att komma ur felsökningsläget kan du gå upp till VBE-menyn och välja Debug →Step Out.
Se början och slutvariabelvärden
Om du håller muspekaren över en sträng- eller heltalsvariabel i VBA i felsökningsläge kan du se värdet på den variabeln i ett verktygstips. Den här funktionen låter dig se de värden som skickas in och ut ur variabler, vilket är användbart vid felsökning av kod.
Verktygstips kan dock bara innehålla 77 tecken (inklusive variabelnamnet), så om värdet i din variabel är för långt skärs det av. För att se bortom de första 77 tecknen, håll helt enkelt ned Ctrl-tangenten medan du håller muspekaren.
Så här ser verktygstipset ut när du håller muspekaren över en variabel i felsökningsläge.
Början och sluttecken i ett variabelt verktygstips.
Stänger av automatisk syntaxkontroll
När du arbetar med kod kommer du ofta att upptäcka att du måste gå till en annan rad för att kopiera något. Du är inte klar med raden; du behöver bara lämna det en sekund. Men VBE stoppar dig omedelbart i dina spår med ett felmeddelande, liknande det som visas här, varnar dig om något du redan vet.
En oavslutad kodrad resulterar i ett skakande felmeddelande.
Dessa meddelanderutor tvingar dig att stoppa det du gör för att bekräfta felet genom att trycka på OK-knappen. Efter en halv dag med dessa abrupta meddelanderutor är du redo att kasta din dator mot väggen.
Tja, du kan rädda din dator och ditt förstånd genom att stänga av Auto Syntax Check. Gå upp till VBE-menyn och välj Verktyg→ Alternativ. Dialogrutan Alternativ visas och visar fliken Editor. Avmarkera alternativet Auto Syntax Check för att stoppa dessa irriterande felmeddelanden.
Förhindra varningsmeddelanden under kodning.
Oroa dig inte för att missa ett legitimt misstag. Din kod blir fortfarande röd om du lurar på, vilket ger en visuell indikation på att något är fel.