Hvis du skal bruke tid på å jobbe med makroer i Visual Basic Editor, hvorfor ikke dra nytte av noen av de innebygde verktøyene som vil gjøre jobben din enklere? Disse tipsene vil i stor grad forbedre din makroprogrammeringsopplevelse.
Bruker blokkkommentarer
Plassering av en enkelt apostrof foran en hvilken som helst linje med kode forteller Excel å hoppe over den kodelinjen. Denne teknikken kalles å kommentere kode. De fleste programmerere bruker enkeltapostrof til å lage kommentarer eller notater i koden, som vist her.
En enkelt apostrof foran en linje gjør den linjen til en kommentar.
Noen ganger er det fordelaktig å kommentere flere linjer med kode. På denne måten kan du teste visse linjer med kode mens du ber Excel om å ignorere de kommenterte linjene.
I stedet for å bruke tid på å kommentere én linje om gangen, kan du bruke Rediger-verktøylinjen til å kommentere en hel kodeblokk.
For å aktivere Rediger-verktøylinjen, gå til VBE-menyen og velg Vis → Verktøylinjer → Rediger. Velg kodelinjene du vil ha kommentert ut, og klikk deretter på kommentarblokkikonet på Rediger-verktøylinjen, som vist her.
Bruk Rediger-verktøylinjen til å legge til kommentarer på en kodeblokk.
Kopiering av flere linjer med kode
Du kan kopiere hele kodeblokker ved å markere linjene du trenger, og deretter holde nede Ctrl-tasten mens du drar blokken. Dette gamle Windows-trikset fungerer selv når du drar over moduler.
Du vil vite at du drar en kopi når markøren viser et plusssymbol ved siden av den, som vist her.
Ctrl-dra for å lage en kopi.
Hoppe mellom moduler og prosedyrer
Etter at hurtigbufferen med makrokode begynner å vokse, kan det være vanskelig å raskt flytte mellom moduler og prosedyrer. Du kan lindre smerten ved å bruke noen få hurtigtaster.
Teleportering til funksjonene dine
Når du gjennomgår en makro, kan du støte på en variabel eller et funksjonsnavn som åpenbart peker på en annen kodebit. I stedet for å gå gjennom alle moduler for å finne hvor funksjonen eller variabelnavnet kommer fra, kan du ganske enkelt plassere markøren på funksjonen eller variabelnavnet og trykke Shift+F2.
Som denne figuren illustrerer, blir du umiddelbart teleportert til opprinnelsen til funksjonen eller variabelnavnet. Ved å trykke Ctrl+Shift+F2 vil du ta deg tilbake til der du startet.
Trykk Shift+F2 på en funksjon eller variabelnavn for å bli tatt til den.
Holde seg i riktig prosedyre
Når modulene dine inneholder flere prosedyrer, kan det være vanskelig å rulle gjennom en bestemt prosedyre uten utilsiktet å rulle inn i en annen prosedyre. Du vil ofte finne deg selv å rulle opp og deretter ned, og prøve å komme tilbake til riktig kodebit.
For å unngå dette tullet, klikk prosedyrevisning-knappen i nedre venstre hjørne av VBE, som vist her. Hvis du gjør det, begrenses rullingen til bare prosedyren du er i.
Begrens rulling til den aktive prosedyren.
Går gjennom koden din
For å gå gjennom koden må du sette makroen i feilsøkingsmodus. Bare plasser markøren hvor som helst i makroen og trykk deretter på F8-tasten.
I programmering betyr begrepet debugging å finne og rette mulige feil i kode. Et av de mer nyttige feilsøkingsverktøyene er muligheten til å gå gjennom koden en linje om gangen. Når du går gjennom koden, ser du på at hver linje blir utført.
Den første linjen med kode er uthevet og en liten pil vises på kodevinduets venstre marg, som vist her. Trykk F8 igjen for å utføre den uthevede kodelinjen og gå til neste linje. Fortsett å trykke F8 for å se hver linje bli utført til slutten av makroen.
Trykk F8 for å gå gjennom hver linje i makroen.
For å komme ut av feilsøkingsmodus, gå opp til VBE-menyen og velg Feilsøking → Gå ut.
Gå til en bestemt kodelinje
Hva om du vil begynne å gå gjennom koden din på en bestemt linje? Vel, du kan gjøre nettopp det ved å flytte pilen!
Når en kodelinje er uthevet i feilsøkingsmodus, kan du klikke og dra pilen i venstre marg i kodevinduet oppover eller nedover, og slippe den ved hvilken kodelinje du vil kjøre neste, som vist her.
Dra pilen mens du går gjennom koden.
Stoppekode på et forhåndsdefinert punkt
Når du angir et bruddpunkt, vil koden kjøre som normalt og deretter stoppe ved kodelinjen der du definerte som bruddpunktet.
Denne feilsøkingsteknikken kommer godt med når du vil kjøre tester av små kodeblokker om gangen. For eksempel, hvis du mistenker at det kan være en feil i makroen din, men du vet at majoriteten av makroen kjører uten problemer, kan du angi et bruddpunkt som starter på den mistenkelige kodelinjen og deretter kjøre makroen. Når makroen når bruddpunktet ditt, stopper utførelsen. På dette tidspunktet kan du trykke på F8-tasten på tastaturet for å se makroen kjører én linje om gangen.
For å angi et bruddpunkt i koden, plasser markøren der du vil at bruddpunktet skal starte, og trykk deretter på F9-tasten på tastaturet. VBA vil tydelig markere bruddpunktet med en prikk i kodevinduets venstre marg, og selve kodelinjen vil være skyggelagt rødbrun.
Et bruddpunkt er markert med en prikk og skyggelagt tekst.
Når makroen din treffer et bruddpunkt, vil den effektivt settes i feilsøkingsmodus. For å komme ut av feilsøkingsmodus, kan du gå opp til VBE-menyen og velge Feilsøking → Gå ut.
Se begynnelses- og sluttvariabelverdier
Hvis du holder markøren over en streng- eller heltallsvariabel i VBA mens du er i feilsøkingsmodus, kan du se verdien til den variabelen i et verktøytips. Denne funksjonen lar deg se verdiene som sendes inn og ut av variabler, noe som er nyttig når du feilsøker kode.
Verktøytips kan imidlertid bare inneholde 77 tegn (inkludert variabelnavnet), så hvis verdien i variabelen din er for lang, blir den avskåret. For å se forbi de første 77 tegnene, holder du bare nede Ctrl-tasten mens du holder musepekeren.
Slik ser verktøytipset ut når du holder musepekeren over en variabel i feilsøkingsmodus.
Begynnelses- og slutttegnene i et variabelt verktøytips.
Slå av automatisk syntakskontroll
Mens du jobber med en eller annen kode, vil du ofte oppdage at du må gå til en annen linje for å kopiere noe. Du er ikke ferdig med linjen; du trenger bare å la det være et øyeblikk. Men VBE stopper deg umiddelbart i sporene dine med en feilmelding, lik den som vises her, som advarer deg om noe du allerede vet.
En uferdig linje med kode resulterer i en skurrende feilmelding.
Disse meldingsboksene tvinger deg til å stoppe det du gjør for å erkjenne feilen ved å trykke på OK-knappen. Etter en halv dag med disse brå meldingsboksene, vil du være klar til å kaste datamaskinen mot veggen.
Vel, du kan redde datamaskinen og forstanden din ved å slå av Auto Syntax Check. Gå opp til VBE-menyen og velg Verktøy → Alternativer. Dialogboksen Alternativer vises, og viser Editor-fanen. Fjern merket for Auto Syntax Check-alternativet for å stoppe disse irriterende feilmeldingene.
Forhindre advarselsmeldinger under koding.
Ikke bekymre deg for å gå glipp av en legitim feil. Koden din vil fortsatt bli rød hvis du tuller, og gir en visuell indikasjon på at noe er galt.