Med hänvisning till objekt i Excel 2016 VBA-programmering

Att hänvisa till ett objekt i din VBA-kod är viktigt eftersom du måste identifiera objektet som du vill arbeta med i Excel 2016. VBA kan trots allt inte läsa dina tankar — ännu. Det ryktas att det tankeläsande objektet kommer att introduceras i Excel 2019.

Du kan arbeta med en hel samling objekt i ett svep. Oftare behöver du dock arbeta med ett specifikt objekt i en samling (som ett särskilt kalkylblad i en arbetsbok). För att referera till ett enstaka objekt från en samling, sätter du objektets namn eller indexnummer inom parentes efter namnet på samlingen, så här:

Arbetsblad(“Sheet1”)

Observera att arkets namn står inom citattecken. Om du utelämnar citattecken kommer Excel inte att kunna identifiera objektet (och kommer att anta att det är ett variabelnamn).

Om Sheet1 är det första (eller enda) kalkylbladet i samlingen kan du också använda följande referens:

Arbetsblad(1)

I det här fallet står numret inte inom citattecken. Slutsats? Om du refererar till ett objekt genom att använda dess namn, använd citattecken. Om du hänvisar till ett objekt genom att använda dess indexnummer, använd ett vanligt tal utan citattecken.

Hur är det med diagramblad? Ett diagramblad innehåller ett enda diagram. Den har en arkflik, men det är inte ett kalkylblad. Tja, som det visar sig har objektmodellen en samling som heter Charts. Den här samlingen innehåller alla diagrambladsobjekt i en arbetsbok (och inkluderar inte diagram inbäddade i ett kalkylblad).

Och bara för att hålla saker logiska, det finns en annan samling som heter Sheets. Arksamlingen innehåller alla ark (kalkylblad och diagramblad) i en arbetsbok. Arksamlingen är praktisk om du vill arbeta med alla ark i en arbetsbok och inte bryr dig om de är kalkylblad eller diagramblad.

Så ett enda kalkylblad som heter Sheet1 är medlem i två samlingar: Kalkylbladssamlingen och Kalkylarksamlingen. Du kan referera till det på något av två sätt:

Arbetsblad(“Sheet1”)
Sheets(“Sheet1”)

Navigerar genom hierarkin

Om du vill arbeta med Excel-objekt finns alla under Application-objektet. Så börja med att skriva Application .

Alla andra objekt i Excels objektmodell ligger under Application-objektet. Du kommer till dessa objekt genom att flytta ner i hierarkin och koppla ihop varje objekt på vägen med punktoperatorn (.). För att komma till Workbook-objektet med namnet Book1.xlsx, börja med Application-objektet och navigera ner till Workbooks-samlingsobjektet:

Application.Workbooks(“Book1.xlsx”)

För att navigera längre till ett specifikt kalkylblad, lägg till en punktoperator och öppna samlingsobjektet Kalkylblad:

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

Inte tillräckligt långt än? Om du verkligen vill få värdet från cell A1 på det första kalkylbladet i arbetsboken med namnet Book1.xlsx, måste du navigera ytterligare en nivå till Range-objektet:

Application.Workbooks(“Book1.xlsx”).Worksheets(1).Range(“A1”).Värde

När du refererar till ett Range-objekt på det här sättet kallas det en fullständigt kvalificerad referens. Du har sagt till Excel exakt vilket intervall du vill ha, på vilket kalkylblad och i vilken arbetsbok, och har inte lämnat något åt ​​fantasin. Fantasi är bra hos människor men inte så bra i datorprogram.

Förresten, arbetsboksnamn har också en punkt för att skilja filnamnet från tillägget (till exempel Book1.xlsx). Det är bara en slump. Punkten i ett filnamn har ingenting alls att göra med punktoperatorn.

Förenkla objektreferenser

Om du var tvungen att fullständigt kvalificera varje objektreferens du gör, skulle din kod bli ganska lång och den kan vara svårare att läsa. Lyckligtvis ger Excel dig några genvägar som kan förbättra läsbarheten (och spara lite skrivning). Till att börja med antas alltid Application-objektet. Det finns bara ett fåtal fall när det är vettigt att skriva det. Om du utelämnar applikationsobjektreferensen förkortas exemplet till

Workbooks(“Book1.xlsx”).Arbetsblad(1).Range(“A1”).Värde

Det är en ganska bra förbättring. Men vänta, det finns mer. Om du är säker på att Book1.xlsx är den aktiva arbetsboken kan du också utelämna den referensen. Nu är du nere på

Arbetsblad(1).Omfång(“A1”).Värde

Nu kommer du någonstans. Har du gissat nästa genväg? Det är rätt. Om du vet att det första kalkylbladet är det för närvarande aktiva kalkylbladet, antar Excel den referensen och låter dig bara skriva

Range(“A1”).Värde

I motsats till vad vissa kanske tror, ​​har Excel inte ett cellobjekt. En cell är helt enkelt ett Range-objekt som bara består av ett element.

Genvägarna som beskrivs här är bra, men de kan också vara farliga. Vad händer om du bara tror att Book1.xlsx är den aktiva arbetsboken? Du kan få ett fel, eller ännu värre, du kan få fel värde och inte ens inse att det är fel. Av den anledningen är det ofta bäst att fullständigt kvalificera dina objektreferenser.

With-End With-strukturen hjälper dig att fullt ut kvalificera dina referenser men hjälper också till att göra koden mer läsbar och minskar inskrivningen. Det bästa av båda världar!


Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows Microsoft Word öppnar filer i skrivskyddat läge, vilket gör det omöjligt att redigera dem? Oroa dig inte, metoderna finns nedan

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Så här åtgärdar du fel vid utskrift av felaktiga Microsoft Word-dokument Fel vid utskrift av Word-dokument med ändrade teckensnitt, röriga stycken, saknad text eller förlorat innehåll är ganska vanligt. Men gör det inte

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Om du har använt pennan eller överstrykningspennan för att rita på dina PowerPoint-bilder under en presentation, kan du spara ritningarna till nästa presentation eller radera dem så att nästa gång du visar den börjar du med rena PowerPoint-bilder. Följ dessa instruktioner för att radera ritningar med penna och överstrykningspenna: Radera linjer ett på […]

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteket innehåller CSS-filer, XSL-filer (Extensible Stylesheet Language) och bilder som används av fördefinierade mallsidor, sidlayouter och kontroller i SharePoint 2010. För att hitta CSS-filer i stilbiblioteket på en publiceringswebbplats: Välj Webbplatsåtgärder→Visa Allt webbplatsinnehåll. Innehållet på webbplatsen visas. Style-biblioteket ligger i […]

Formatera siffror i tusentals och miljoner i Excel-rapporter

Formatera siffror i tusentals och miljoner i Excel-rapporter

Överväldiga inte din publik med gigantiska siffror. I Microsoft Excel kan du förbättra läsbarheten för dina instrumentpaneler och rapporter genom att formatera dina siffror så att de visas i tusentals eller miljoner.

Hur man delar och följer SharePoint-webbplatser

Hur man delar och följer SharePoint-webbplatser

Lär dig hur du använder SharePoints sociala nätverksverktyg som låter individer och grupper kommunicera, samarbeta, dela och ansluta.

Hur man konverterar datum till Julian-format i Excel

Hur man konverterar datum till Julian-format i Excel

Julianska datum används ofta i tillverkningsmiljöer som en tidsstämpel och snabbreferens för ett batchnummer. Denna typ av datumkodning tillåter återförsäljare, konsumenter och serviceagenter att identifiera när en produkt tillverkades och därmed produktens ålder. Julianska datum används också i programmering, militären och astronomi. Annorlunda […]

Hur man skapar en Access Web App

Hur man skapar en Access Web App

Du kan skapa en webbapp i Access 2016. Så vad är en webbapp egentligen? Tja, webben betyder att den är online, och appen är bara en förkortning för "applikation". En anpassad webbapp är en onlinedatabasapplikation som nås från molnet med en webbläsare. Du bygger och underhåller webbappen i skrivbordsversionen […]

Snabbstartsfält i SharePoint 2010

Snabbstartsfält i SharePoint 2010

De flesta sidor i SharePoint 2010 visar en lista med navigeringslänkar i snabbstartsfältet till vänster på sidan. Snabbstartsfältet visar länkar till utvalt webbplatsinnehåll som listor, bibliotek, webbplatser och publiceringssidor. Snabbstartsfältet innehåller två mycket viktiga länkar: Länken Allt webbplatsinnehåll: […]

Vad betyder lösarens felmeddelanden i Excel?

Vad betyder lösarens felmeddelanden i Excel?

För enkla problem hittar Solver i Excel vanligtvis snabbt de optimala Solver-variabelvärdena för objektivfunktionen. Men i vissa fall har Solver problem med att hitta Solver-variabelvärdena som optimerar objektivfunktionen. I dessa fall visar Solver vanligtvis ett meddelande eller ett felmeddelande som beskriver eller diskuterar problemet som […]