Fejlretningsteknikker til Excel 2016 VBA

Du kan løbe ind i nogle problemer med din VBA-kode, men hvordan finder du problemet? Nogle gange kan din VBA-kode have brug for noget fejlretning. Fortsæt med at læse for at opdage de fire mest almindelige metoder til fejlretning af Excel VBA-kode:

  • Undersøgelse af koden

  • Indsættelse af MsgBox-funktioner på forskellige steder i din kode

  • Indsættelse af Debug.Print-sætninger

  • Brug af de indbyggede Excel-fejlretningsværktøjer

Undersøgelse af din kode

Den måske mest ligetil debugging-teknik er simpelthen at tage et nærmere kig på din kode for at se, om du kan finde problemet. Denne metode kræver naturligvis viden og erfaring. Med andre ord, du skal vide, hvad du laver. Hvis du er heldig, springer fejlen lige ud, og du slår dig i panden og siger: "Åh!" Når pandesmerterne aftager, kan du løse problemet.

Læg mærke til brugen af ​​ordene "Hvis du er heldig." Det er fordi, du ofte opdager fejl, når du har arbejdet på dit program i otte timer i træk, klokken er 2, og du kører på koffein og viljestyrke. Til tider som det er du heldig, hvis du overhovedet kan se din kode, endsige finde fejlene. Derfor skal du ikke blive overrasket, hvis blot at undersøge din kode ikke er nok til at få dig til at finde og slette alle de fejl, den indeholder.

Brug af MsgBox-funktionen

Et almindeligt problem i mange programmer involverer en eller flere variabler, der ikke får de værdier, du forventer. I sådanne tilfælde er overvågning af variablerne, mens din kode kører, en nyttig fejlfindingsteknik. En måde at gøre dette på er ved at indsætte midlertidige MsgBox-funktioner i din rutine. For eksempel, hvis du har en variabel ved navn CellCount, kan du indsætte følgende sætning:

MsgBox CellCount

Når du udfører rutinen, viser MsgBox-funktionen CellCounts værdi.

Det er ofte nyttigt at vise værdierne af to eller flere variabler i meddelelsesboksen. Følgende sætning viser den aktuelle værdi af to variable: LoopIndex (1) og CellCount (72), adskilt af et mellemrum.

MsgBox LoopIndex & " " & CellCount

Bemærk, at de to variable kombineres med sammenkædningsoperatoren (&), og indsæt et mellemrum mellem dem. Ellers binder meddelelsesboksen de to værdier sammen, så de ligner en enkelt værdi. Du kan også bruge den indbyggede konstant, vbNewLine, i stedet for mellemrumstegnet. vbNewLine indsætter et linjeskift, som viser teksten på en ny linje. Følgende sætning viser tre variabler, hver på en separat linje:

Fejlretningsteknikker til Excel 2016 VBA

Brug af en beskedboks til at vise værdien af ​​tre variable.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Denne teknik er ikke begrænset til overvågning af variabler. Du kan bruge en beskedboks til at vise alle mulige nyttige oplysninger, mens din kode kører. For eksempel, hvis din kode går gennem en række ark, viser følgende sætning navnet og typen af ​​det aktive ark:

MsgBox ActiveSheet.Name & “ “ & TypeName(ActiveSheet)

Hvis din beskedboks viser noget uventet, skal du trykke på Ctrl+Break, og du ser en dialogboks, der fortæller dig, at kodeudførelsen er blevet afbrudt, har du fire valgmuligheder:

  • Klik på knappen Fortsæt. Koden fortsætter med at køre.

  • Klik på knappen Afslut. Udførelse stopper.

  • Klik på Debug-knappen. VBE går i fejlretningstilstand.

  • Klik på knappen Hjælp. En hjælpeskærm fortæller dig, at du trykkede på Ctrl+Break. Det er med andre ord ikke særlig nyttigt.

    Fejlretningsteknikker til Excel 2016 VBA

    Et tryk på Ctrl+Break standser eksekveringen af ​​din kode og giver dig nogle valg.

Hvis dit tastatur ikke har en pausetast, kan du prøve at trykke på Ctrl+ScrollLock.

Du er velkommen til at bruge MsgBox-funktioner ofte, når du fejlretter din kode. Bare sørg for at fjerne dem, når du har identificeret og rettet problemet.

Indsættelse af Debug.Print-sætninger

Som et alternativ til at bruge MsgBox-funktioner i din kode, kan du indsætte en eller flere midlertidige Debug.Print-sætninger. Brug disse udsagn til at udskrive værdien af ​​en eller flere variabler i vinduet Øjeblikkelig. Her er et eksempel, der viser værdierne af tre variable:

Debug.Print LoopIndex, CellCount, MyVal

Bemærk, at variablerne er adskilt med kommaer. Du kan vise så mange variabler som du vil med en enkelt Debug.Print-sætning.

Debug.Print sender output til vinduet Øjeblikkelig, selvom vinduet er skjult. Hvis VBEs øjeblikkelige vindue ikke er synligt, skal du trykke på Ctrl+G (eller vælge Vis → Øjeblikkeligt vindue). Her er noget output i vinduet Øjeblikkelig.

Fejlretningsteknikker til Excel 2016 VBA

En Debug.Print-sætning sender output til vinduet Immediate.

I modsætning til MsgBox stopper Debug.Print-sætninger ikke din kode. Så du skal holde øje med Umiddelbar-vinduet for at se, hvad der sker.

Når du har fejlrettet din kode, skal du sørge for at fjerne alle Debug.Print-sætningerne. Selv store virksomheder som Microsoft glemmer af og til at fjerne deres Debug.Print-udsagn. I flere tidligere versioner af Excel, hver gang Analysis ToolPak-tilføjelsesprogrammet blev åbnet, ville du se flere mærkelige meddelelser i vinduet Øjeblikkelig. Det problem blev endelig løst i Excel 2007.

Brug af VBA debugger

Excel-designerne er fortrolige med begrebet fejl. Derfor indeholder Excel et sæt fejlfindingsværktøjer, der kan hjælpe dig med at rette problemer i din VBA-kode.


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]