VBA-Objekte

Inhaltsverzeichnis

Excel VBA-Objekte beziehen sich auf einzelne „Entitäten“, die aus Code und Daten bestehen. Die Excel-Anwendung selbst ist ein Objekt, ebenso wie Arbeitsmappen, Arbeitsblätter, Zellbereiche und Formen. Jedes Objekt hat zugehörige Eigenschaften und Methoden. Objekte können auch andere Objekte enthalten und das Sammlungsobjekt wird verwendet, um auf eine Gruppe derselben Excel-Objekte zu verweisen.

In diesem Tutorial werden wir uns einige häufig verwendete Excel-Objekte ansehen.

Anwendungsobjekt

Das Anwendungsobjekt bezieht sich auf die gesamte Excel-Anwendung. Das Anwendungsobjekt enthält das Arbeitsmappenobjekt.

Der folgende Code verwendet die WindowState-Eigenschaft des Application-Objekts, um das Excel-Fenster auf die maximal verfügbare Größe festzulegen:

12345 Sub MaximizingTheExcelWindow()Application.WindowState = xlMaximizedEnd Sub

Arbeitsmappen-Objekt

Das Objekt Workbooks bezieht sich auf die Auflistung aller aktuell geöffneten Excel-Arbeitsmappen.

Der folgende Code verwendet die Methode Workbooks.Add, um eine neue Arbeitsmappe zu erstellen und der Sammlung hinzuzufügen:

12345 Sub AddingANewWorkbookToTheWorkbooksCollection()Arbeitsmappen.HinzufügenEnd Sub

Sie können auf eine einzelne Arbeitsmappe in der Workbooks-Auflistung über ihre Indexnummer oder ihren Namen zugreifen. Sie können also auf eine Arbeitsmappe namens ExcelWb verweisen, indem Sie Workbooks ("ExcelWB") verwenden.

Arbeitsmappenobjekt

Das Arbeitsmappenobjekt ist Teil der Workbooks-Auflistung. Das Arbeitsmappenobjekt enthält die Arbeitsblattsammlung (Arbeitsblätter) und die Arbeitsblattsammlung (Arbeitsblätter, Diagrammblätter und Makroblätter). Das ActiveWorkbook-Objekt verweist auf die aktive Arbeitsmappe.

Der folgende Code verwendet die ActiveWorkbook.Save-Methode, um die aktuelle aktive Arbeitsmappe zu speichern:

12345 Unter SavingTheWorkbook()ActiveWorkbook.SpeichernEnd Sub

Tabellenobjekt

Das Sheets-Objekt bezieht sich auf die Sammlung aller Arbeitsblätter, Diagrammblätter und Makroblätter in einer Arbeitsmappe. Der folgende Code verwendet die Sheets.Add-Methode, um ein neues Arbeitsblatt namens ExtraSheet nach dem letzten Arbeitsblatt in der Arbeitsmappe hinzuzufügen:

123456 Unter HinzufügenANewSheet()ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(Worksheets.Count), Count:=1, _Typ:=xlWorksheet).Name = "ExtraSheet"End Sub

Beachten Sie die Syntax der Sheets.Add-Methode:
Tabellen.Hinzufügen(Vor, Nach, Zählen, Typ) wo:

-Before ist optional und gibt an, dass das neue Blatt vor einem vorhandenen Blatt hinzugefügt werden soll.

-After ist optional und gibt an, dass das neue Blatt nach einem vorhandenen Blatt hinzugefügt werden soll.

-Count ist optional und gibt die Anzahl der hinzuzufügenden Blätter an.

-Type ist optional und gibt den Blatttyp an. xlWorksheet würde ein neues Arbeitsblatt hinzufügen, xlChart würde ein neues Diagrammblatt hinzufügen und xlExcel4MacroSheet oder xlExcel4IntlMacroSheet würde ein neues Makroblatt hinzufügen. Wenn es leer ist, wird das Standard-xlWorksheet verwendet.

Sie können auf ein einzelnes Blatt in der Sheets-Auflistung über seine Indexnummer oder seinen Namen zugreifen. Sie können also auf ein Arbeitsblatt namens SheetOne verweisen, indem Sie Sheets ("SheetOne") verwenden.

Arbeitsblätter-Objekt

Das Worksheets-Objekt bezieht sich auf die Auflistung aller Arbeitsblätter in einer Arbeitsmappe. Der folgende Code verwendet die Methode Worksheets.Add, um ein neues Arbeitsblatt hinzuzufügen:

12345 Unter HinzufügenANewSheet()Arbeitsblätter.HinzufügenEnd Sub

Sie können auf ein einzelnes Blatt in der Worksheets-Auflistung über seine Indexnummer oder seinen Namen zugreifen. Sie können also auf ein Arbeitsblatt namens SheetTwo verweisen, indem Sie Worksheets ("SheetTwo") verwenden.

Arbeitsblattobjekt

Das Arbeitsblattobjekt ist Teil der Worksheets-Auflistung. Das Arbeitsblattobjekt enthält das Bereichsobjekt und andere Objekte. Das ActiveSheet-Objekt verweist auf das aktive Blatt.

Der folgende Code ändert die Seitenausrichtung des aktiven Blatts ins Querformat:

12345 Sub ChangingOrientationToLandscape()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub

Beachten Sie, dass das Sheet-Objekt das PageSetup-Objekt enthält und seine Ausrichtungseigenschaft auf xlLandscape festgelegt ist.

Bereichsobjekt

Das Range-Objekt kann auf eine einzelne Zelle oder eine Gruppe von Zellen in einem Arbeitsblatt verweisen. Der folgende Code zeigt Ihnen, wie Sie die Range.Select-Methode verwenden, um die Zellen A1:B1 auszuwählen:

12345 UnterauswahlARange()Bereich("A1:B1").WählenEnd Sub

Shapes-Objekt

Das Shapes-Objekt bezieht sich auf die Auflistung aller Formen in einem Arbeitsblatt. Der folgende Code würde alle Formen auf dem ActiveSheet auswählen:

12345 Sub SelectingAllTheShapes()ActiveSheet.Shapes.SelectAllEnd Sub

Formobjekt

Das Shape-Objekt ist Teil der Shapes-Auflistung. Der folgende Code würde eine abgerundete Rechteckform erstellen und dann die name-Eigenschaft des Shape-Objekts festlegen:

123456789 Unter UsingTheShapeObject()Mit Arbeitsblättern(1).Shapes.AddShape(msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Ein abgerundetes Rechteck"Ende mitEnd Sub

Excel VBA-Objektmodell

Das VBA-Objektmodell von Excel beschreibt die Hierarchie aller Objekte, die Sie in Excel verwenden können. Mit dem Workbooks-Objekt können Sie beispielsweise indirekt oder direkt auf alle anderen Objekte verweisen. Der folgende Code zeigt Ihnen, wie Sie Zelle A1 mithilfe der hierarchischen Struktur auswählen:

12345 Unter UsingTheHierachicalStructure()Workbooks("Book1").Worksheets("Sheet1").Range("A1").SelectEnd Sub

Deklarieren und Zuweisen einer Objektvariablen

Mit den Schlüsselwörtern Dim und Set können Sie ein Objekt deklarieren und einer Variablen zuweisen.

Zum Beispiel:

12 Dim ws als ArbeitsblattSet ws = ActiveWorkbook.ActiveSheet

Der folgende Code zeigt Ihnen, wie Sie ein Range-Objekt deklarieren und einer Variablen zuweisen:

12345678910111213141516 Sub AssigningARangeToAVariable()rngOne als Objekt dimmenSetze rngOne = Range("A1:C1")rngOne.Font.Bold = TrueMit rngOne.Font.Bold = True.Font.Name = "Calibri".Schriftgröße = 9.Schriftfarbe = RGB(35, 78, 125).Innen.Farbe = RGB(205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlContinuousEnde mitEnd Sub

Das Ergebnis ist:

Es ist wichtig zu verstehen, wie Objekte funktionieren, um VBA zu beherrschen. Mehr erfahren Sie in unserem interaktiven VBA-Tutorial.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave