/ / Excel VBA Workbook og Worksheet Object

Excel VBA Workbook og Worksheet Object

Objekt Hierarki | Samlinger | Egenskaber og metoder

Lær mere om Workbook og Arbejdsarkobjekt i Excel VBA.

Objekt Hierarki

I Excel VBA kan en genstand indeholde en andenobjekt, og objektet kan indeholde et andet objekt osv. Med andre ord involverer Excel VBA programmering at arbejde med et objekthierarki. Dette lyder nok ganske forvirrende, men vi vil gøre det klart.

Moderen til alle objekter er selve Excel. Vi kalder det applikationsobjektet. Applikationsobjektet indeholder andre objekter. F.eks. Arbejdsbogsobjektet (Excel-fil). Dette kan være en hvilken som helst projektmappe, du har oprettet. Arbejdsbogsobjektet indeholder andre objekter, f.eks. Regnearkobjektet. Arbejdsarkobjektet indeholder andre objekter, som f.eks. Range-objektet.

Kapitlet Opret et makro illustrerer, hvordan du kører kode ved at klikke på en kommandoknap. Vi brugte følgende kodelinje:

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

men hvad vi virkelig mente var:

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

Bemærk: objekterne er forbundet med en prik. Heldigvis behøver vi ikke tilføje en kode linje på denne måde. Det skyldes, at vi placerede vores kommandoknap i create-a-macro.xls, på det første regneark. Vær opmærksom på, at hvis du vil ændre tingene på forskellige regneark, skal du inkludere arbejdsarkobjektet. Læs videre.

Samlinger

Du har måske bemærket, at Workbooks ogRegneark er begge flertallet. Det er fordi de er samlinger. Arbejdsbøger-samlingen indeholder alle de Arbejdsbogsobjekter, der for øjeblikket er åbne. Samlingene af regneark indeholder alle regnearkobjekter i en projektmappe.

Arbejdsarknavn

Du kan henvise til et medlem af samlingen, for eksempel et enkelt regnearkobjekt på tre måder.

1. Brug af regnearkets navn.

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

2. Ved hjælp af indeksnummeret (1 er det første regneark startende fra venstre).

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

3. Brug af CodeName.

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

For at se CodeName i et regneark skal du åbne Visual Basic Editor. I Project Explorer er fornavnet CodeName. Det andet navn er regnearkets navn (Salg).

Codename

Bemærk: Kodenavn forbliver den samme, hvis du ændrer regnearknavnet eller rækkefølgen af ​​dine regneark, så dette er den sikreste måde at referere til et regneark. Klik på Vis, Egenskaber Vindue for at ændre kode navn på et regneark. Der er en ulempe, du kan ikke bruge CodeName, hvis du refererer til et regneark i en anden projektmappe.

Egenskaber og metoder

Lad os nu tage et kig på nogle ejendomme ogmetoderne i Workbooks og Worksheets samling. Egenskaber er noget, som en samling har (de beskriver samlingen), mens metoder gør noget (de udfører en handling med en samling).

Placer en kommandoknap på dit regneark og tilføj kodelinjerne:

1. Tilføj-metoden i Workbooks-samlingen opretter en ny arbejdsbog.

Workbooks.Add

Bemærk: Tilføj metode i samling af regneark opretter et nyt regneark.

2. Grevegenskaben i regnearksamlingen tæller antallet af regneark i en projektmappe.

MsgBox Worksheets.Count

Resultat, når du klikker på kommandoknappen på arket:

Count Property i Excel VBA

Bemærk: Grevegenskaben i Workbooks-samlingen tæller antallet af aktive arbejdsbøger.

Læs også: