Hvordan åpne og bruke Visual Basic Editor i Excel

Hvordan åpne og bruke Visual Basic Editor i Excel

Det første trinnet i å bruke VBA i Excel er å gjøre deg kjent med Visual Basic-editoren (også kjent som VBA-editoren eller VB-editoren).

I denne opplæringen vil jeg dekke alt du trenger å vite om VBA-editoren, samt noen nyttige alternativer du bør vite når du koder i Excel VBA.

Hva er Visual Basic Editor i Excel?

Visual Basic Editor er et eget program som er en del av Excel og åpnes hver gang du åpner en Excel-arbeidsbok.Som standard er den skjult, for å få tilgang til den må du aktivere den.

VB-editoren er der VB-koden lagres.

Du kan få kode i VB-editoren på flere måter:

  1. Når du tar opp en makro, oppretter den automatisk en ny modul i VB-editoren og setter inn koden i den modulen.
  2. Du kan manuelt skrive inn VB-kode i VB-editoren.
  3. Du kan kopiere kode fra andre arbeidsbøker eller Internett og lime den inn i VB-editoren.

Åpne VB editor

Det er flere måter å åpne Visual Basic Editor i Excel:

  1. Bruk hurtigtaster (enkleste, raskeste)
  2. Bruk utviklerfanen.
  3. Bruk regnearkfaner.

La oss ta en rask titt på hver enkelt.

Tastatursnarvei for å åpne Visual Basic-editoren

Den enkleste måten å åpne Visual Basic-editoren på er å bruke en hurtigtast – ALT + F11(Hold nede ALT-tasten og trykk på F11-tasten).

Relaterte spørsmål  Hvordan gi nytt navn til regneark i Excel (4 enkle måter + snarveier)

Etter å ha gjort dette, vil det åpne et eget vindu for Visual Basic-editoren.

Denne snarveien fungerer som en bryter, så når du bruker den igjen, vil den ta deg tilbake til Excel-applikasjonen (uten å lukke VB-editoren).

Snarveistastene for Mac-versjonen erOpt+F11ellerFn + Opt + F11

Bruk utviklerfanen

Slik åpner du Visual Basic Editor fra båndet:

  1. Klikk på «Utvikler»-fanen (hvis du ikke ser «Utvikler»-fanen, les hvordan du får tak i den).
  2. Klikk Visual Basic i kodegruppen.

Visual Basic Editor-knapp på båndet

Bruk regnearkfaner

Dette er en mindre brukt måte å åpne Vb-editoren på.

Gå til en hvilken som helst arkfane, høyreklikk og velg Vis kode.

Se kode for å åpne VB-editor

Denne metoden åpner ikke bare VB-editoren, men tar deg også til kodevinduet for det arkobjektet.

Dette er nyttig når du vil skrive kode som bare gjelder et spesifikt ark.Dette er vanligvis tilfellet for arbeidsarkhendelser.

Anatomi av Visual Basic Editor i Excel

Når du først åpner VB-editoren, kan det virke litt overveldende.

Det er forskjellige alternativer og seksjoner som kan virke helt nye i begynnelsen.

Dessuten har den fortsatt det gamle Excel 97-dagsutseendet.Mens Excel har forbedret seg mye i design og brukervennlighet gjennom årene, har ikke utseendet til VB-editoren endret seg på noen måte.

I denne delen vil jeg lede deg gjennom de forskjellige delene av Visual Basic Editor-applikasjonen.

Merk: Da jeg begynte å bruke VBA for noen år siden, ble jeg overveldet av alle disse nye alternativene og vinduene.Men når du blir vant til VBA, vil du være fornøyd med det meste.Som oftest trenger du ikke bruke alle alternativene, bare én hånd.

Nedenfor er bilder av de forskjellige komponentene i VB-editoren.Disse blir deretter beskrevet i detalj i de følgende delene av denne opplæringen.

Ulike deler av VB-editoren i Excel

La oss nå ta en rask titt på hver komponent og se hva den gjør:

Menylinje

Det er her alle alternativene du kan bruke i VB-editoren.Det ligner på Excel-båndet, der hver fane har faner og alternativer.

Du kan utforske de tilgjengelige alternativene ved å klikke på hvert menyelement.

Du vil legge merke til hurtigtaster som er nevnt ved siden av de fleste alternativene i VB-editoren.Det blir veldig enkelt å bruke VB-editoren når du først har blitt vant til noen hurtigtaster.

verktøylinjen

Som standard har VB-editoren en verktøylinje med noen nyttige alternativer som du kanskje trenger oftest.Det er som Quick Access Toolbar i Excel.Det gir deg rask tilgang til noen nyttige alternativer.

Du kan tilpasse den litt ved å fjerne eller legge til alternativer (ved å klikke på den lille nedpilen på slutten av verktøylinjen).

Legg til eller fjern alternativer fra verktøylinjen

I de fleste tilfeller trenger du bare standardverktøylinjen når du bruker VB-editoren.

Du kan flytte verktøylinjen over menylinjen ved å klikke på de tre grå prikkene (på begynnelsen av verktøylinjen) og dra dem over menylinjen.

Merk: Det er fire verktøylinjer i VB-editoren - Standard, Debug, Edit og UserForm.Det du ser i bildet ovenfor (og også standarden) er standardverktøylinjen.Du kan få tilgang til andre verktøylinjer ved å gå til Vis-alternativet og holde markøren over Verktøylinjer-alternativet.Om ønskelig kan du legge til en eller flere verktøylinjer i VB-editoren.

Prosjektnettleser

Project Explorer er et vindu til venstre som viser alle objekter som er åpne i Excel.

Når du bruker Excel, er hver åpen arbeidsbok eller tillegg et prosjekt.Hvert av disse elementene kan inneholde et sett med objekter.

For eksempel, i bildet nedenfor, viser Project Explorer to åpne arbeidsbøker (Book1 og Book2) og objektene i hver arbeidsbok (regneark, ThisWorkbook og moduler i Book1).

Det er et plussikon til venstre for objekter som du kan bruke til å skjule listen over objekter eller utvide og vise hele listen over objekter.

Project Explorer i Excel VBA Editor

Følgende objekter kan være en del av Project Explorer:

  1. Alle åpne arbeidsbøker – I hver arbeidsbok (også kalt et prosjekt) kan du ha følgende objekter:
    • Arbeidarbeid for hvert regneark i bokenbordobjekt
    • Dette arbeidsbokobjektet, som representerer selve arbeidsboken
    • av hvert diagramarkKartark 對象(Disse er ikke så vanlige som regneark)
    • 模塊- Det er her koden som genereres ved hjelp av makroopptakeren ligger.Du kan også skrive eller kopiere og lime inn VBA-kode her.
  2. Alle åpne tillegg

Tenk på Project Explorer som et sted å skissere alle objekter som er åpne i Excel på et gitt tidspunkt.

Tastatursnarveien for å åpne Project Explorer erKontroll + R(Hold nede kontrolltasten, og trykk deretter på R).For å lukke den, klikker du bare på lukk-ikonet i øvre høyre hjørne av Project Explorer-vinduet.

Merk: For hvert objekt i Project Explorer er det et kodevindu der du kan skrive kode (eller kopiere og lime inn fra et sted).Kodevinduet vises når du dobbeltklikker på et objekt.

Egenskaper vindu

Egenskaper-vinduet er der du kan se egenskapene til det valgte objektet.Hvis du ikke allerede har vinduet Egenskaper, kan du bruke hurtigtasten F4 (eller gå til Vis-fanen og klikk Egenskaper-vinduet) for å få det.

Relaterte spørsmål  Hvordan fjerne celleformatering (fra alle tomme, spesifikke celler) i Excel

Egenskaper-vinduet er et flytende vindu som du kan forankre i VB-editoren.I eksemplet nedenfor har jeg forankret den under Project Explorer.

Egenskapsvindu forankret under Project Explorer

Egenskapsvinduet lar oss endre egenskapene til det valgte objektet.For eksempel, hvis jeg vil at arket skal være skjult (eller veldig skjult), kan jeg gjøre det ved å endre Visible-egenskapen til det valgte arkobjektet.

Endre den synlige egenskapen til et regneark i egenskapsvinduet

kodevindu

Hvert objekt som er oppført i Project Explorer har et kodevindu.Du kan åpne et objekts kodevindu ved å dobbeltklikke på objektet i Project Explorer-området.

Kodevinduet er der du skriver kode eller kopierer og limer inn kode fra andre steder.

Når du tar opp en makro, går dens kode inn i modulens kodevindu.Excel setter automatisk inn en modul for å legge inn koden din når du tar opp en makro.

Umiddelbart vindu

Umiddelbart vindu brukes hovedsakelig for feilsøking av kode.En måte jeg bruker Immediate Window på er å bruke Print.Debug-setningen i koden min og deretter kjøre koden.

Det hjelper meg med å feilsøke koden min og identifisere hvor koden min sitter fast.Hvis jeg får resultatet av Print.Debug i det umiddelbare vinduet, vet jeg at koden er gyldig i det minste opp til den linjen.

Hvis du er ny til VBA-koding, kan det ta litt tid å feilsøke ved å bruke det umiddelbare vinduet.

Som standard er det umiddelbare vinduet ikke synlig i VB-editoren.Du kan bruke tastatursnarveien Control + G for å få den (eller du kan gå til Vis-fanen og klikke på Umiddelbart vindu).

Hvor du skal legge til kode i VB-editoren

Jeg håper du nå har en grunnleggende forståelse av hva VB-editoren er og alle dens deler.

I denne delen av opplæringen skal jeg vise deg hvor du kan legge til VBA-kode i Visual Basic-redigeringsprogrammet.

Det er to steder å legge til VBA-kode i Excel:

  1. Objektets kodevindu.Disse objektene kan være arbeidsbøker, regneark, brukerskjemaer osv.
  2. Kodevinduet for modulen.

Modulkodevindu vs objektkodevindu

La meg først raskt finne ut forskjellen mellom å legge til kode i en modul og å legge til kode i målkodevinduet.

Når du legger til kode til et objekt, avhenger det av en handling på det objektet som vil utløse koden.For eksempel, hvis du ønsker å vise alle regnearkene i arbeidsboken så snart den ble åpnet, vil koden gå inn i ThisWorkbook-objektet (som representerer arbeidsboken).

I dette tilfellet er utløseren å åpne arbeidsboken.

På samme måte, hvis du ønsker å beskytte et ark umiddelbart etter aktivering av et annet ark, vil koden gå til arkkodevinduet.

Disse triggerne kalles hendelser, og du kan knytte kode som skal utføres når hendelsen inntreffer.

I stedet må koden i modulen kjøres manuelt (eller kan også kalles fra andre underrutiner).

Når du tar opp en makro, oppretter Excel automatisk en modul og setter inn den registrerte makrokoden i den.Hvis du nå må kjøre denne koden, må du kjøre makroen manuelt.

Legg til VBA-kode til modulen

Mens opptak av en makro automatisk oppretter en modul og setter inn koden i den, er det noen begrensninger når du bruker makroopptakeren.Den kan for eksempel ikke bruke løkker eller If Then Else-betingelser.

I dette tilfellet er det bedre å kopiere og lime inn koden manuelt eller skrive den selv.

Moduler kan brukes til å holde følgende typer VBA-kode:

  1. uttalelse: Du kan deklarere variabler i moduler.Ved å deklarere en variabel kan du spesifisere typen data variabelen kan inneholde.Du kan kun deklarere variabler for en subrutine eller for alle subrutiner i en modul (eller alle moduler)
  2. subrutine (prosedyre): Dette er koden som inneholder trinnene du vil at VBA skal utføre.
  3. funksjonell prosess: Dette er en kode som returnerer en enkelt verdi som du kan bruke til å lage en egendefinert funksjon (også kjent som en brukerdefinert funksjon eller UDF i VBA)

Som standard er ikke moduler en del av arbeidsboken.Den må settes inn før bruk.

Legg til moduler i VB-editoren

Her er trinnene for å legge til en modul:

  1. Høyreklikk på et hvilket som helst objekt i arbeidsboken (der du vil at modulen skal være).Høyreklikk på et hvilket som helst objekt
  2. Hold markøren over innsettingsalternativet.
  3. Klikk på modulen.klikkmodul

Dette vil umiddelbart opprette en mappe kalt Module og sette inn et objekt kalt Module1.Hvis du allerede har satt inn en modul, vil trinnene ovenfor sette inn en annen modul.

Sett inn en modul i VB-editoren

Etter å ha satt inn modulen, kan du dobbeltklikke på modulobjektet i prosjektutforskeren og det vil åpne kodevinduet for det.

Nå kan du kopiere og lime inn koden eller skrive den selv.

Fjern modulen

Her er trinnene for å slette en modul i Excel VBA:

  1. Høyreklikk på modulen du vil slette.
  2. Klikk på alternativet Fjern modul.Slett et prosjekts moduler i VB-editoren
  3. Klikk Nei i dialogboksen som åpnes.Tips før du fjerner moduler

Merk: Du kan eksportere modulen før du fjerner den.Den lagres som en .bas-fil som du kan importere til andre prosjekter.For å eksportere en modul, høyreklikk modulen og klikk Eksporter fil.

Legg til kode i objektkodevinduet

For å åpne kodevinduet for et objekt, dobbeltklikker du det.

Når den åpnes, kan du skrive inn kode manuelt eller kopiere og lime inn kode fra andre moduler eller internett.

Merk at noen objekter lar deg velge hendelser som du vil skrive kode for.

Hvis du for eksempel vil skrive kode for hva som skjer når et utvalg endres i et regneark, må du først velge regnearket fra rullegardinlisten øverst til venstre i kodevinduet, og deretter velge Endre hendelse fra rullegardinliste - til høyre.

Valgendringshendelse i VBA-kodevindu

Merk: Disse hendelsene er spesifikke for objekter.Når du åpner kodevinduet for en arbeidsbok, vil du se hendelser knyttet til arbeidsbokobjektet.Når du åpner kodevinduet for et regneark, vil du se hendelser knyttet til regnearkobjektet.

Egendefinert VB-editor

Selv om standardinnstillingene til Visual Basic-editoren er gode nok for de fleste brukere, lar den deg tilpasse grensesnittet og noe funksjonalitet ytterligere.

I denne delen av opplæringen vil jeg vise deg alle alternativene dine når du tilpasser VB-editoren.

For å tilpasse VB-redigeringsmiljøet, klikk Verktøy i menylinjen og klikk deretter Alternativer.

Dette vil åpne Alternativer-dialogen, som vil gi deg alle tilpasningsalternativene i VB-editoren.Alternativer-dialogboksen har fire faner (vist nedenfor) med forskjellige tilpasningsalternativer for Visual Basic-editoren.

Alternativer for å tilpasse Vb-editoren

La oss ta en rask titt på hver fane og de viktige alternativene i hver.

editor-fanen

Mens de innebygde innstillingene fungerer bra i de fleste tilfeller, la meg fortsatt bla gjennom alternativene i denne kategorien.

Etter hvert som du blir dyktigere med VBA i Excel, vil du kanskje tilpasse VB-editoren med noen av disse alternativene.

Automatisk grammatikksjekk

Når du bruker VBA i Excel, så snart en syntaksfeil oppstår, dukker det opp en dialogboks (med en beskrivelse av feilen).Som vist under:

Relaterte spørsmål  Slik ser du hvem som sluttet å følge deg på Instagram

Automatisk syntakskontroll i Visual Basic-redigeringsalternativer

Hvis dette alternativet er deaktivert, vil ikke denne popup-en vises selv om det er en syntaksfeil.Imidlertid endres fargen i kodeteksten for å indikere en feil.

Hvis du er nybegynner, anbefaler jeg å aktivere dette alternativet.Etter hvert som du blir mer erfaren med koding, kan du begynne å finne disse popup-vinduene irriterende, og du kan deaktivere dette alternativet.

variabel erklæring kreves

Dette er et alternativ jeg anbefaler å aktivere.

Når du bruker VBA, bruker du variabler for å holde forskjellige datatyper og objekter.

Når du aktiverer dette alternativet, setter det automatisk inn en "Option Explicit"-setning øverst i kodevinduet.Dette tvinger deg til å deklarere alle variablene du bruker i koden.Hvis du ikke deklarerer variabelen og prøver å kjøre koden, får du en feilmelding (som vist nedenfor).

Variabel uerklært feil i Excel VBA

I eksemplet ovenfor brukte jeg variabelen Var, men jeg erklærte den ikke.Så når jeg prøver å kjøre koden viser den feil.

Dette alternativet er nyttig når du har mange variabler.Det hjelper meg vanligvis med å finne feilstavede variabelnavn ettersom de blir behandlet som uoppgitte og viser feil.

Merk: Når dette alternativet er aktivert, vil det ikke påvirke eksisterende moduler.

Automatiske listemedlemmer

Dette alternativet er nyttig fordi det hjelper deg å få en liste over egenskaper for en objektmetode.

For eksempel, hvis jeg vil slette et ark (ark1), må jeg bruke ark1.Slett-raden.

Når jeg skriver inn koden, så snart jeg skriver inn prikken, viser den alle metodene og egenskapene knyttet til Worksheet-objektet (vist nedenfor).

Automatisk listemedlem alternativ i VB editor

Autoliste-funksjonen er flott fordi den lar deg:

  • Spar tid ved å raskt velge egenskaper og metoder fra lister
  • Viser deg alle egenskapene og metodene du kanskje ikke kjenner
  • Unngå stavefeil

Dette alternativet er aktivert som standard, og jeg anbefaler at du holder det slik.

Automatisk hurtiginformasjonsalternativ

Når du skriver inn en funksjon i et Excel-regneark, viser det deg noe informasjon om funksjonen – for eksempel argumentene den tar.

På samme måte, når du skriver inn en funksjon i VBA, vil den vise deg litt informasjon (vist nedenfor).Men for å gjøre dette, må du sørge for at alternativet "Automatisk hurtiginformasjon" er aktivert (som standard).

Automatisk hurtiginformasjonsalternativ i VB-editor

Alternativ for automatisk datatips

Når du går gjennom koden linje for linje og plasserer markøren over variabelnavnet, vil den vise verdien til variabelen.

Jeg finner det nyttig når jeg feilsøker kode eller går gjennom kode som inneholder løkker.

Alternativet Automatiske datatips i Visual Basic-redigeringsalternativene

I eksemplet ovenfor, så snart jeg setter markøren på variabelen (var), viser den verdien den har.

Dette alternativet er aktivert som standard, og jeg anbefaler at du holder det slik.

automatisk innrykk

Siden VBA-kode kan bli detaljert og rotete, øker bruk av innrykk kodens lesbarhet.

Når du skriver kode, kan du bruke tabulatortasten for å rykke inn.

Dette alternativet sikrer at når du er ferdig med en innrykket linje og trykker Enter, starter ikke neste linje fra begynnelsen, men har samme innrykk som forrige linje.

Aktiver innrykk i VB-redigeringskodevinduet

I eksemplet ovenfor, etter at jeg har skrevet Debug.Print-linjen og trykket enter, starter den rett under den (med samme innrykknivå).

Jeg synes dette alternativet er nyttig, å slå det av betyr å manuelt rykke inn hver linje i en kodeblokk som jeg vil rykke inn.

Du kan endre innrykkverdien om ønskelig.Jeg beholder det som standard.

Dra og slipp tekstredigering

Når dette alternativet er aktivert, lar det deg velge kodeblokker og dra og slippe dem.

Det sparer tid fordi du ikke trenger å klippe og lime først.Du kan ganske enkelt velge og dra den.

Dette alternativet er aktivert som standard, og jeg anbefaler at du holder det slik.

Standard til full modulvisning

Når dette alternativet er aktivert, vil du kunne se alle prosedyrer i modulen i en rullbar liste.

Hvis dette alternativet er deaktivert, kan du bare se én modul om gangen.Du må velge modulen du ønsker å se fra nedtrekkslisten i øvre høyre hjørne av kodevinduet.

Dette alternativet er aktivert som standard, og jeg anbefaler at du holder det slik.

En grunn til at du kanskje vil deaktivere det er når du har flere store programmer og det tar tid å bla gjennom dem, eller når du har mange programmer og vil finne det raskt i stedet for å kaste bort tid mens du blar.

programseparator

Når dette alternativet er aktivert, vil du se en linje (en slags skillelinje) mellom de to prosessene.

Jeg synes dette er nyttig da det visuelt viser når en prosess avsluttes og en annen starter.

Alternativ for prosedyreseparator i VB-editor

Det er aktivert som standard, og jeg anbefaler å beholde det slik.

Editor Format-fanen

Ved å bruke alternativene i editorens Format-fane kan du tilpasse utseendet til koden din i kodevinduet.

Personlig beholder jeg alle standardalternativene fordi jeg har det bra.Du kan justere den til din smak om nødvendig.

For å gjøre endringer må du først velge et alternativ i kodefargeboksen.Etter å ha valgt et alternativ, kan du endre forgrunns-, bakgrunns- og indikatorfargene.

Skrifttype og skriftstørrelse kan også angis i denne fanen.En font med fast bredde som Courier New anbefales da den gjør koden mer lesbar.

Merk at skrifttype- og størrelsesinnstillingene forblir de samme for alle kodetyper (det vil si alle kodetyper som vises i kodefargeboksen).

Nedenfor er bildet med bruddpunktene mine valgt, og jeg kan endre formatet.

Editor-formateringsalternativer i VB-editoren

Merk: Når alternativet for margindikatorlinje er aktivert, vises en liten marglinje til venstre for koden.Dette er nyttig fordi det viser nyttige beregninger mens du kjører koden.I eksemplet ovenfor, når du angir et bruddpunkt, viser det automatisk en rød prikk til venstre for linjen i marglinjen.Alternativt, for å angi et bruddpunkt, kan du ganske enkelt klikke på marglinjen til venstre for kodelinjen du vil ha bruddpunktet.

Som standard er margindikatorlinjen aktivert, og jeg anbefaler at du holder den slik.

En av elevene mine i VBA-klassen fant dette tilpassede alternativet nyttig, og hun er fargeblind.Ved å bruke alternativene her kunne hun stille inn farger og format slik at hun enkelt kunne bruke VBA.

Generelt-fanen

Kategorien Generelt har mange alternativer, men du trenger ikke å endre noen av dem.

Jeg anbefaler at du beholder alle alternativene som de er.

Et viktig alternativ å forstå i denne fanen er feilhåndtering.

Som standard er "Bruk ved ubehandlede feil" valgt, og jeg anbefaler å beholde det slik.

Dette alternativet betyr at hvis koden din støter på en feil og du ikke har håndtert den feilen i koden din, vil den bryte og stoppe.Men hvis du har løst feilen (f.eks. ved å bruke Ved feil gjenoppta neste eller Ved feil gå til alternativene), vil den ikke bryte (siden feilen ikke er uhåndtert).

Dokkingfane

I denne kategorien kan du spesifisere vinduene som skal forankres.

Dokking betyr at du kan plassere et vindu (som Project Explorer eller Properties-vinduet) slik at det ikke flyter og du kan se alle de forskjellige vinduene samtidig.

Hvis du ikke dokker, vil du kunne se ett vindu om gangen i fullskjermmodus og må bytte til et annet.

Jeg anbefaler å beholde standardinnstillingene.

å hallo ????Hyggelig å møte deg.

Abonner på vårt nyhetsbrev, send veldig regelmessigflott teknologitil e-posten din.

Legg inn kommentar