Refererer til objekter i Excel 2016 VBA-programmering

Å referere til et objekt i VBA-koden din er viktig fordi du må identifisere objektet du vil jobbe med i Excel 2016. Tross alt kan ikke VBA lese tankene dine — ennå. Det ryktes at tankeleserobjektet vil bli introdusert i Excel 2019.

Du kan jobbe med en hel samling av gjenstander i ett slag. Oftere må du imidlertid jobbe med et spesifikt objekt i en samling (for eksempel et bestemt regneark i en arbeidsbok). For å referere til et enkelt objekt fra en samling, setter du objektets navn eller indeksnummer i parentes etter navnet på samlingen, slik:

Regneark(“Ark1”)

Legg merke til at arkets navn står i anførselstegn. Hvis du utelater anførselstegnene, vil ikke Excel kunne identifisere objektet (og vil anta at det er et variabelnavn).

Hvis Ark1 er det første (eller eneste) regnearket i samlingen, kan du også bruke følgende referanse:

Regneark(1)

I dette tilfellet står ikke tallet i anførselstegn. Bunnlinjen? Hvis du refererer til et objekt ved å bruke navnet, bruk anførselstegn. Hvis du refererer til et objekt ved å bruke dets indeksnummer, bruk et vanlig tall uten anførselstegn.

Hva med diagramark? Et diagramark inneholder et enkelt diagram. Den har en arkfane, men det er ikke et regneark. Vel, som det viser seg, har objektmodellen en samling kalt Charts. Denne samlingen inneholder alle diagramarkobjektene i en arbeidsbok (og inkluderer ikke diagrammer innebygd i et regneark).

Og bare for å holde ting logisk, er det en annen samling kalt Sheets. Ark-samlingen inneholder alle ark (regneark og diagramark) i en arbeidsbok. Ark-samlingen er nyttig hvis du vil jobbe med alle arkene i en arbeidsbok og ikke bryr deg om de er regneark eller diagramark.

Så et enkelt regneark kalt Sheet1 er medlem av to samlinger: regnearksamlingen og arksamlingen. Du kan referere til det på en av to måter:

Regneark(“Ark1”)
Ark(“Ark1”)

Navigerer gjennom hierarkiet

Hvis du ønsker å jobbe med Excel-objekter, ligger de alle under Application-objektet. Så start med å skrive Application .

Alle andre objekter i Excels objektmodell ligger under Application-objektet. Du kommer til disse objektene ved å bevege deg nedover i hierarkiet og koble hvert objekt på din vei med prikken (.)-operatoren. For å komme til Workbook-objektet kalt Book1.xlsx, start med Application-objektet og naviger ned til Workbooks-samlingsobjektet:

Application.Workbooks(“Book1.xlsx”)

For å navigere lenger til et spesifikt regneark, legg til en punktoperator og få tilgang til regnearksamlingsobjektet:

Application.Workbooks(“Book1.xlsx”).Worksheets(1)

Ikke langt nok ennå? Hvis du virkelig ønsker å hente verdien fra celle A1 på det første regnearket i arbeidsboken kalt Book1.xlsx, må du navigere ett nivå til til Range-objektet:

Application.Workbooks(“Book1.xlsx”).Worksheets(1).Range(“A1”).Verdi

Når du refererer til et Range-objekt på denne måten, kalles det en fullt kvalifisert referanse. Du har fortalt Excel nøyaktig hvilket område du vil ha, på hvilket regneark og i hvilken arbeidsbok, og har ikke overlatt noe til fantasien. Fantasi er bra hos mennesker, men ikke så bra i dataprogrammer.

Forresten, arbeidsboknavn har også en prikk for å skille filnavnet fra filtypen (for eksempel Book1.xlsx). Det er bare en tilfeldighet. Prikken i et filnavn har ingenting i det hele tatt å gjøre med punktoperatoren.

Forenkling av objektreferanser

Hvis du ble pålagt å fullt ut kvalifisere hver objektreferanse du lager, ville koden din blitt ganske lang, og den kan være vanskeligere å lese. Heldigvis gir Excel deg noen snarveier som kan forbedre lesbarheten (og spare deg for litt skriving). For det første antas alltid Application-objektet. Det er bare noen få tilfeller hvor det er fornuftig å skrive det. Å utelate Application-objektreferansen forkorter eksemplet til

Arbeidsbøker(“Book1.xlsx”).Arbeidsark(1).Område(“A1”).Verdi

Det er en ganske god forbedring. Men vent, det er mer. Hvis du er sikker på at Book1.xlsx er den aktive arbeidsboken, kan du også utelate den referansen. Nå er du nede på

Regneark(1).Område(“A1”).Verdi

Nå kommer du et sted. Har du gjettet neste snarvei? Det er riktig. Hvis du vet at det første regnearket er det aktive regnearket, antar Excel den referansen og lar deg bare skrive

Område(“A1”). Verdi

I motsetning til hva noen kanskje tror, ​​har ikke Excel et celleobjekt. En celle er ganske enkelt et Range-objekt som består av bare ett element.

Snarveiene som er beskrevet her er flotte, men de kan også være farlige. Hva om du bare tror Book1.xlsx er den aktive arbeidsboken? Du kan få en feil, eller enda verre, du kan få feil verdi og ikke engang innse at det er feil. Av den grunn er det ofte best å fullt ut kvalifisere objektreferansene dine.

With-End With-strukturen hjelper deg med å fullt ut kvalifisere referansene dine, men bidrar også til å gjøre koden mer lesbar og reduserer skrivingen. Det beste fra begge verdenene!


Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows Microsoft Word åpner filer i skrivebeskyttet modus, noe som gjør det umulig å redigere dem? Ikke bekymre deg, metodene er nedenfor

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Slik fikser du feil ved utskrift av feil Microsoft Word-dokumenter Feil ved utskrift av Word-dokumenter med endrede fonter, rotete avsnitt, manglende tekst eller tapt innhold er ganske vanlig. Men ikke gjør det

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Hvis du har brukt pennen eller merkepennen til å tegne på PowerPoint-lysbildene dine under en presentasjon, kan du lagre tegningene til neste presentasjon eller slette dem, slik at du neste gang du viser dem starter med rene PowerPoint-lysbilder. Følg disse instruksjonene for å slette penn- og merkepenntegninger: Slette linje én på […]

Style Library-innhold i SharePoint 2010

Style Library-innhold i SharePoint 2010

Stilbiblioteket inneholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og bilder som brukes av forhåndsdefinerte mastersider, sideoppsett og kontroller i SharePoint 2010. For å finne CSS-filer i stilbiblioteket til et publiseringsnettsted: Velg Site Actions→ View Alt innhold på nettstedet. Innholdet på nettstedet vises. Style-biblioteket ligger i […]

Formater tall i tusenvis og millioner i Excel-rapporter

Formater tall i tusenvis og millioner i Excel-rapporter

Ikke overveld publikum med gigantiske tall. I Microsoft Excel kan du forbedre lesbarheten til dashbordene og rapportene dine ved å formatere tallene dine slik at de vises i tusenvis eller millioner.

Hvordan dele og følge SharePoint-nettsteder

Hvordan dele og følge SharePoint-nettsteder

Lær hvordan du bruker SharePoints sosiale nettverksverktøy som lar enkeltpersoner og grupper kommunisere, samarbeide, dele og koble til.

Hvordan konvertere datoer til julianske formater i Excel

Hvordan konvertere datoer til julianske formater i Excel

Julianske datoer brukes ofte i produksjonsmiljøer som et tidsstempel og hurtigreferanse for et batchnummer. Denne typen datokoding lar forhandlere, forbrukere og serviceagenter identifisere når et produkt ble laget, og dermed alderen på produktet. Julianske datoer brukes også i programmering, militæret og astronomi. Forskjellig […]

Hvordan lage en Access Web App

Hvordan lage en Access Web App

Du kan lage en nettapp i Access 2016. Så hva er en nettapp egentlig? Vel, nettet betyr at det er online, og appen er bare en forkortelse for "applikasjon". En Custom Web App er en online databaseapplikasjon som du får tilgang til fra skyen ved hjelp av en nettleser. Du bygger og vedlikeholder nettappen i skrivebordsversjonen […]

Hurtigstartlinje i SharePoint 2010

Hurtigstartlinje i SharePoint 2010

De fleste sidene i SharePoint 2010 viser en liste over navigasjonskoblinger på hurtigstartlinjen langs venstre side av siden. Hurtigstartlinjen viser koblinger til innhold på nettstedet som lister, biblioteker, nettsteder og publiseringssider. Hurtigstartlinjen inneholder to svært viktige lenker: Linken for alt nettstedinnhold: […]

Hva betyr løserfeilmeldingene i Excel?

Hva betyr løserfeilmeldingene i Excel?

For enkle problemer finner Solver i Excel vanligvis raskt de optimale Solver-variabelverdiene for objektivfunksjonen. Men i noen tilfeller har Solver problemer med å finne Solver-variabelverdiene som optimerer objektivfunksjonen. I disse tilfellene viser Solver vanligvis en melding eller en feilmelding som beskriver eller diskuterer problemet som […]