Hjem Sosiale medier Feilsøkingsteknikker for Excel 2016 VBA - dummies

Feilsøkingsteknikker for Excel 2016 VBA - dummies

Innholdsfortegnelse:

Anonim

Det kan hende du får problemer med VBA-koden din, men hvordan finner du problemet? Noen ganger kan VBA-koden trenge litt feilsøking. Fortsett å lese for å finne de fire vanligste metodene for feilsøking av Excel VBA-kode:

  • Undersøk koden

  • Sette inn MsgBox-funksjoner på forskjellige steder i koden din

  • Sette inn feil. Utskriftserklæringer

  • Bruke Excel-innebygde feilsøkingsverktøy

Undersøk koden din

Kanskje den mest enkle debugging teknikken bare tar en nærmere titt på koden din for å se om du kan finne problemet. Denne metoden krever selvsagt kunnskap og erfaring. Med andre ord må du vite hva du gjør. Hvis du er heldig, hopper feilen helt ut, og du slår på pannen og sier, "D'oh! "Når pannens smerte reduseres, kan du løse problemet.

Legg merke til bruken av ordene, "Hvis du er heldig. "Det er fordi du ofte oppdager feil når du har jobbet på programmet i åtte timer rett, det er 2 a. m., og du kjører på koffein og viljestyrke. Til tider som det, er du heldig hvis du kan se koden din, enda mindre finne feilene. Dermed ikke bli overrasket hvis bare å undersøke koden din ikke er nok til at du finner og utvider alle feilene den inneholder.

Bruke MsgBox-funksjonen

Et vanlig problem i mange programmer innebærer en eller flere variabler som ikke tar de verdiene du forventer. I slike tilfeller overvåker variabelen (r) mens koden kjører, en nyttig feilsøkingsteknikk. En måte å gjøre dette på er å sette midlertidige MsgBox-funksjoner inn i rutinen. Hvis du for eksempel har en variabel som heter CellCount, kan du sette inn følgende setning:

MsgBox CellCount

Når du utfører rutinen, viser MsgBox-funksjonen CellCounts verdi.

Det er ofte nyttig å vise verdiene for to eller flere variabler i meldingsboksen. Følgende setning viser nåverdien av to variabler: LoopIndex (1) og CellCount (72), skilt av et mellomrom.

MsgBox LoopIndex & "" og CellCount

Merk at de to variablene er kombinert med sammenkoblingsoperatøren (&) og sett inn et mellomrom mellom dem. Ellers strammer meldingsboksen de to verdiene sammen, slik at de ser ut som en enkelt verdi. Du kan også bruke den innebygde konstanten, vbNewLine, i stedet for mellomromstegnet. vbNewLine legger inn en linjeinnmatingspause, som viser teksten på en ny linje. Følgende setning viser tre variabler, hver på en egen linje:

Bruk en meldingskasse for å vise verdien av tre variabler.
MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Denne teknikken er ikke begrenset til overvåkning av variabler. Du kan bruke en meldingskasse for å vise all slags nyttig informasjon mens koden din kjører. Hvis for eksempel koden din går gjennom en serie ark, viser følgende setning navnet og typen på det aktive arket:

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

Hvis meldingsboksen viser noe uventet, trykk Ctrl + Break, og du ser en dialogboks som forteller deg Kodekjøring er avbrutt, du har fire valg:

  • Klikk på Fortsett-knappen. Koden fortsetter å utføre.

  • Klikk på Avslutt-knappen. Utførelsen stopper.

  • Klikk på Debug-knappen. VBE går inn i feilsøkingsmodus.

  • Klikk på Hjelp-knappen. En hjelpeskjerm forteller deg at du trykket på Ctrl + Break. Det er med andre ord ikke veldig nyttig.

    Ved å trykke på Ctrl + Break stopper kjøringen av koden din og gir deg noen valg.

Hvis tastaturet ikke har en pause-tast, kan du prøve å trykke Ctrl + ScrollLock.

Bruk gjerne MsgBox-funksjoner ofte når du feilsøker koden din. Bare vær sikker på at du fjerner dem etter at du har identifisert og rettet opp problemet.

Sette inn feilsøking. Utskriftserklæringer

Som et alternativ til å bruke MsgBox-funksjoner i koden din, kan du sette inn en eller flere midlertidige Debug. Skriv ut uttalelser. Bruk disse setningene til å skrive ut verdien av en eller flere variabler i vinduet Immediate. Her er et eksempel som viser verdiene av tre variabler:

Feilsøking. Skriv ut LoopIndex, CellCount, MyVal

Merk at variablene er skilt med kommaer. Du kan vise så mange variabler som du vil med en enkelt Feilsøking. Utskriftserklæring.

feilsøkings. Utskrift sender utdata til umiddelbar vindu, selv om vinduet er skjult. Hvis VBEs umiddelbare vindu ikke er synlig, trykk Ctrl + G (eller velg Vis → Umiddelbart vindu). Her er noen utdata i vinduet Immediate.

En feilsøking. Utskriftserklæring sender utdata til umiddelbar vindu.

I motsetning til MsgBox, Debug. Utskriftserklæringer stopper ikke koden din. Så du må holde øye med vinduet Umiddelbart for å se hva som skjer.

Når du har feilsøkt koden din, må du fjerne all debuggen. Skriv ut uttalelser. Selv store selskaper som Microsoft glemmer til og med å fjerne feilen sin. Skriv ut uttalelser. I flere tidligere versjoner av Excel ble hver gang Add-in for Analysis ToolPak åpnet, du ser flere merkelige meldinger i vinduet Umiddelbart. Det problemet ble endelig løst i Excel 2007.

Bruke VBA-feilsøkeren

Excel-designerne er godt kjent med begrepet feil. Derfor inneholder Excel et sett med feilsøkingsverktøy som kan hjelpe deg med å rette opp problemer i VBA-koden din.

Feilsøkingsteknikker for Excel 2016 VBA - dummies

Redaktørens valg

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Nesten alle operasjoner i HTML5 lerret funksjonen implementerer en fylle eller stroke stil. For å få mest mulig ut av lerretet, må du forstå hvordan de fungerer. De tre primære typene stiler du kan bruke på fyll og slag er farger, gradienter og mønstre. Bruke farger med HTML5 lerret-merket For å spesifisere en ...

Ved hjelp av HTML for å kode websidene dine - dummies

Ved hjelp av HTML for å kode websidene dine - dummies

HTML lar deg legge til beskrivende koder på web sidetekst, for å endre utseendet, eller opprette lister, tabeller, koblinger og så videre. HTML er designet for å være noe som mennesker kan lese og at maskiner kan behandle, en form for felles grunnlag for menneskelig kommunikasjon. Anta at du vil legge til fet skrift til et ord ...

Redaktørens valg

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Kanskje den enkleste oppføringen Metoden er å skrive en formel direkte i en celle i et Excel-regneark. Skriv bare formler som ikke inneholder noen funksjoner, og trykk Enter-tasten for å fullføre oppføringen. Prøv dette enkle eksempelet: Klikk på en celle der formelen skal skrives inn. Skriv inn denne enkle matematikkbaserte formelen: = 6 + (9/5) ...

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

I Excel 2016, kan data som faller inn i kategorien "seriell" - månedens navn, ukedag og sammenhengende tall og datoer, for eksempel - skrives inn raskt med kommandoen AutoFill. Tro det eller ei, Excel gjenkjenner visse typer seriell data og går inn i den for deg som en del av AutoFill-funksjonen. ...

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvis du er ikke kjent med hvordan en funksjon fungerer i Excel - kanskje du ikke engang er sikker på hvilken funksjon du vil bruke - du må bruke Formulas-fanens Innsett Funksjon-kommando for å finne funksjonen og deretter identifisere argumentene riktig. Hvis du vil bruke kommandoen Funksjonsveiviser på denne måten, følg ...

Redaktørens valg

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

Den samaritanske kvinnen ved brønnen er ingen engel. Blandet opp med en feil folkemengde, denne stakkars kvinnen fra Samaria har et godt rykte. Hun hadde vært gift fem ganger og bodde i synd med en mann som ikke var hennes ektemann. Gjennom hennes historie kommer leksjonen at folk ikke burde leve av kjønnslig glede. ...

Gjenoppleve den bibelske julehistorien - dummies

Gjenoppleve den bibelske julehistorien - dummies

I stedet for bare å vises på jorden en dag eller "stråle ned" bruk Trek-talk), sier Jesus at han har kommet inn i denne verden på de mest ortodokse måtene: fødsel. Jesu utseende på jorden er kjent som inkarnasjonen, eller hva Johannes-evangeliet kaller Jesus "blir kjøtt. "Interessant nok, skjønner John ikke hendelsene ...