Vba-objekte: einfache, illustrierte erklärung
Visual Basic für Applikationen ist eine objektorientierte Sprache. Um sie optimal nutzen zu können, müssen Sie Excel-Objekte verstehen. Die Arbeitsmappe, die Sie in Excel verwenden, besteht aus verschiedenen Objekten.
Und einem Objekt sind mehrere Eigenschaften zugeordnet, auf die Sie zugreifen können, und mehrere Methoden, die Sie an/mit einem Objekt verwenden können. Lassen Sie uns dies anhand eines Beispiels verstehen.
Stellen Sie sich ein großes Lebensmittelgeschäft vor, das verschiedene Abteilungen für Produkte hat, und dann haben diese Abteilungen zusätzlich Regale und in diesen Regalen Produkte.
Wenn Sie also Kleidung kaufen möchten, müssen Sie zur Bekleidungsabteilung gehen, und in der Bekleidungsabteilung gibt es möglicherweise Unterabteilungen für Männer und Frauen.
Und wenn Sie einen Stoff auswählen, hat dieser Stoff eine bestimmte Farbe, Größe und einen bestimmten Stoff (das sind die Eigenschaften dieses Stoffes).
Ebenso gibt es in VBA Objekte, die hierarchisch strukturiert sind.
VBA-Objektmodell (Hierarchie)
Wenn Sie in einer Excel-Anwendung eine Arbeitsmappe öffnen, befindet sich in dieser Arbeitsmappe ein Arbeitsblatt (oder mehrere Arbeitsblätter) und in diesem Arbeitsblatt befinden sich Zellen und ein Zellbereich.
Die Excel-Hierarchie beginnt mit der Excel-Anwendung selbst und unten ist die Struktur, die diese Hierarchie definiert:
Nehmen wir an, wenn Sie auf eine Arbeitsmappe verweisen möchten, sollte der von Ihnen geschriebene Code so aussehen:
Im obigen Code beziehen Sie sich auf die Arbeitsmappe „Book1“.
Was Sie geschrieben haben, ist, dass Sie sich zuerst auf die Excel-Anwendung beziehen und „Arbeitsmappen“ verwendet haben, was ein weiterer Teil des Anwendungsobjekts ist.
Nehmen wir nun an, Sie möchten weiter gehen und auf ein Arbeitsblatt in der Arbeitsmappe „Book1“ verweisen. Der entsprechende Code wäre:
Sie wissen, was das bedeutet, nicht wahr? Aber lassen Sie mich es Ihnen sagen. Im obigen Code haben Sie, nachdem Sie auf die Arbeitsmappe „Book1“ verwiesen haben, auf das Arbeitsblatt „Sheet1“ verwiesen, das ein weiterer Teil der Arbeitsmappe ist.
Gehen wir noch ein wenig weiter. Lassen Sie uns auf eine bestimmte Zelle im Arbeitsblatt „Sheet1“ verweisen und der entsprechende Code wäre:
Bevor Sie fragen, möchte ich Ihnen Folgendes sagen. Im obigen Code haben Sie sich auf Zelle A1 bezogen, die sich im Arbeitsblatt „Sheet1“ der Arbeitsmappe „Book1“ befindet.
Wenn Sie auf diese Weise auf ein Range-Objekt verweisen, spricht man von einer vollständig qualifizierten Referenz.
Hinweis: Die Verwendung des Application-Objekts ist optional. Grund? Wenn Sie etwas in VBA tun, befinden Sie sich bereits in der Excel-Anwendung.
Vereinfachen Sie den Verweis auf ein Objekt
Im obigen Code haben Sie eine vollständig qualifizierte Referenz verwendet. Das bedeutet, dass Sie VBA mitteilen, auf welche Arbeitsmappe, welches Arbeitsblatt und welche Zelle verwiesen werden soll. Aber was ist, wenn Sie sich bereits in der Arbeitsmappe von Buch 1 befinden?
In diesem Fall können Sie einfach auf das Arbeitsblatt verweisen, in dem Sie auf eine Zelle verweisen möchten, genau wie im folgenden Code:
Wenn außerdem das Arbeitsblatt „Sheet1“ aktiviert ist, können Sie einfach auf die Zelle oder den Zellbereich verweisen, genau wie im folgenden Code:
Erfahren Sie mehr über VBA-Objekte: VBA-Arbeitsmappenobjekt | VBA-Tabellenkalkulationsobjekt | VBA-Bereichsobjekt