/ / Excel VBA Arbetsbok och Arbetsblad Objekt

Excel VBA Arbetsbok och Arbetsblad Objekt

Objekt Hierarki | samlingar | Egenskaper och metoder

Läs mer om arbetsbok och Arbetsblad objekt i Excel VBA.

Objekt Hierarki

I Excel VBA kan ett objekt innehålla en annanobjekt och det objektet kan innehålla ett annat objekt etc. Med andra ord innebär Excel VBA-programmering att arbeta med en objekthierarki. Det låter förmodligen ganska förvirrande, men vi kommer att klargöra det.

Moderen till alla föremål är själva Excel. Vi kallar det Application-objektet. Applikationsobjektet innehåller andra objekt. Till exempel, Arbetsboksobjektet (Excel-fil). Det här kan vara vilken arbetsbok du har skapat. Arbetsboksobjektet innehåller andra objekt, till exempel Arbetsarkobjektet. Arbetsbladets objekt innehåller andra objekt, till exempel Range-objektet.

Kapitlet Skapa ett makro illustrerar hur du kör kod genom att klicka på en kommandoknapp. Vi använde följande kodlinje:

Range("A1").Value = "Hello"

men vad vi verkligen menade var:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Obs! Objekten är kopplade till en punkt. Lyckligtvis behöver vi inte lägga till en kodrad på det här sättet. Det beror på att vi lade vår kommandoknapp i create-a-macro.xls, på det första arbetsbladet. Var medveten om att om du vill ändra saker på olika kalkylblad måste du inkludera kalkylbladets objekt. Läs vidare.

samlingar

Du kanske har märkt att arbetsböcker ochArbetsblad är båda flertalet. Det beror på att de är samlingar. Samlingen Arbetsböcker innehåller alla Arbetsboksobjekt som är öppna för tillfället. Samlingarna av kalkylblad innehåller alla kalkylarkobjekt i en arbetsbok.

Arbetsblad Namn

Du kan hänvisa till en medlem av samlingen, till exempel ett enda arbetsarkobjekt, på tre sätt.

1. Använda kalkylbladets namn.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Med indexnumret (1 är det första kalkylbladet från vänster).

Worksheets(1).Range("A1").Value = "Hello"

3. Använd kodnamnet.

Sheet1.Range("A1").Value = "Hello"

För att se kodnamnet på ett kalkylblad öppnar du Visual Basic Editor. I Project Explorer är förnamnet kodnamnet. Det andra namnet är kalkylbladets namn (försäljning).

Kodnamn

Notera: Kodenavnet förblir densamma om du ändrar kalkylbladets namn eller ordning på dina kalkylblad så det här är det säkraste sättet att referera till ett kalkylblad. Klicka på Visa, Egenskaper fönstret för att ändra kodnamnet på ett kalkylblad. Det finns en nackdel, du kan inte använda kodnamnet om du refererar till ett arbetsblad i en annan arbetsbok.

Egenskaper och metoder

Låt oss nu titta på några egenskaper ochmetoderna i arbetsböcker och arbetsblad samling. Egenskaper är något som en samling har (de beskriver samlingen), medan metoder gör något (de utför en åtgärd med en samling).

Placera en kommandoknapp på ditt arbetsblad och lägg till kodlinjerna:

1. Lägg till metod i samlingen Arbetsböcker skapar en ny arbetsbok.

Workbooks.Add

Obs! Lägg till metoden i kalkylbladet Samling skapar ett nytt kalkylblad.

2. Count-egenskapen i kalkylbladets samling räknar antalet kalkylblad i en arbetsbok.

MsgBox Worksheets.Count

Resultat när du klickar på kommandoknappen på arket:

Count Property i Excel VBA

Obs! Count-egenskapen i arbetsböckerna samlar antalet antal aktiva arbetsböcker.

Läs också: