/ / Excel VBA-Arbeitsmappe und Worksheet-Objekt

Excel VBA-Arbeitsmappe und Worksheet-Objekt

Objekthierarchie | Sammlungen | Eigenschaften und Methoden

Erfahren Sie mehr über die Arbeitsmappe und Arbeitsblattobjekt im Excel VBA.

Objekthierarchie

In Excel VBA kann ein Objekt ein anderes enthaltenObjekt, und dieses Objekt kann ein anderes Objekt usw. enthalten. Mit anderen Worten beinhaltet Excel VBA-Programmierung das Arbeiten mit einer Objekthierarchie. Das klingt wahrscheinlich ziemlich verwirrend, aber wir werden es deutlich machen.

Die Mutter aller Objekte ist Excel selbst. Wir nennen es das Anwendungsobjekt. Das Anwendungsobjekt enthält andere Objekte. Zum Beispiel das Arbeitsmappenobjekt (Excel-Datei). Dies kann jede Arbeitsmappe sein, die Sie erstellt haben. Das Arbeitsmappenobjekt enthält andere Objekte, z. B. das Worksheet-Objekt. Das Worksheet-Objekt enthält andere Objekte, z. B. das Range-Objekt.

Das Kapitel "Erstellen eines Makros" zeigt, wie Sie Code ausführen, indem Sie auf eine Befehlsschaltfläche klicken. Wir haben die folgende Codezeile verwendet:

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

aber was wir wirklich meinten, war:

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

Hinweis: Die Objekte sind mit einem Punkt verbunden. Glücklicherweise müssen wir auf diese Weise keine Codezeile hinzufügen. Das liegt daran, dass wir unsere Befehlsschaltfläche in create-a-macro.xls auf dem ersten Arbeitsblatt platziert haben. Beachten Sie, dass Sie das Worksheet-Objekt einschließen müssen, wenn Sie die Dinge auf verschiedenen Arbeitsblättern ändern möchten. Weiter lesen.

Sammlungen

Sie haben vielleicht bemerkt, dass Arbeitsmappen undArbeitsblätter sind beide Plural. Das liegt daran, dass sie Sammlungen sind. Die Arbeitsmappen-Sammlung enthält alle derzeit geöffneten Arbeitsmappenobjekte. Die Worksheets-Auflistung enthält alle Worksheet-Objekte in einer Arbeitsmappe.

Arbeitsblattnamen

Sie können auf ein Mitglied der Sammlung, z. B. ein einzelnes Worksheet-Objekt, auf drei Arten verweisen.

1. Verwenden des Arbeitsblattnamens.

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

2. Verwenden Sie die Indexnummer (1 ist das erste Arbeitsblatt von links beginnend).

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

3. Verwenden Sie den CodeName.

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

Öffnen Sie den Visual Basic-Editor, um den CodeName eines Arbeitsblatts anzuzeigen. Im Projekt-Explorer ist der erste Name der CodeName. Der zweite Name ist der Name des Arbeitsblatts (Sales).

Code Name

Hinweis: Der CodeName bleibt gleich, wenn Sie den Namen des Arbeitsblatts oder die Reihenfolge Ihrer Arbeitsblätter ändern, damit dies die sicherste Methode zum Verweisen auf ein Arbeitsblatt ist. Klicken Sie auf Ansicht, Eigenschaftenfenster, um den CodeName eines Arbeitsblatts zu ändern. Es gibt einen Nachteil, Sie können den CodeName nicht verwenden, wenn Sie auf ein Arbeitsblatt in einer anderen Arbeitsmappe verweisen.

Eigenschaften und Methoden

Jetzt werfen wir einen Blick auf einige Eigenschaften undMethoden der Sammlung Arbeitsmappen und Arbeitsmappen. Eigenschaften sind etwas, was eine Sammlung hat (sie beschreiben die Sammlung), während Methoden etwas tun (sie führen eine Aktion mit einer Sammlung aus).

Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die Codezeilen hinzu:

1. Die Add-Methode der Workbooks-Sammlung erstellt eine neue Arbeitsmappe.

Workbooks.Add

Hinweis: Die Add-Methode der Worksheets-Auflistung erstellt ein neues Arbeitsblatt.

2. Die Count-Eigenschaft der Worksheets-Auflistung zählt die Anzahl der Arbeitsblätter in einer Arbeitsmappe.

MsgBox Worksheets.Count

Ergebnis, wenn Sie auf die Befehlsschaltfläche auf dem Blatt klicken:

Zähle Eigenschaft in Excel VBA

Hinweis: Die Count-Eigenschaft der Arbeitsmappen-Sammlung zählt die Anzahl der aktiven Arbeitsmappen.

Lesen Sie auch: