Wie verwende ich eine excel-tabelle in vba?
In VBA stellt das Arbeitsblattobjekt ein einzelnes Arbeitsblatt dar, das Teil der Sammlung von Arbeitsblättern (oder Blättern) der Arbeitsmappe ist. Mithilfe des Arbeitsblattobjekts können Sie im VBA-Code auf das Arbeitsblatt verweisen und auf ein Arbeitsblatt verweisen. Außerdem können Sie auf die damit verbundenen Eigenschaften, Methoden und Ereignisse zugreifen.
Hier erhalten Sie einen kurzen Überblick über die Position eines Arbeitsblatts in der Excel-Objekthierarchie.
Anwendung ➪ Arbeitsmappe ➪ Arbeitsblätter ➪ Arbeitsblatt
In diesem Tutorial erfahren Sie, wie Sie mithilfe von VBA-Code ein Arbeitsblatt in Excel verwenden und referenzieren.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Blätter vs. Tabellenkalkulationen
Fangen wir mit dem Anfang an. Dies ist wichtig, um den Unterschied zwischen einer Tabellenkalkulation und einem Tabellenblatt zu verstehen. In Excel gibt es Blatttypen, die Sie in eine Arbeitsmappe einfügen können, und ein Arbeitsblatt ist einer dieser Typen. Wie Sie im Schnappschuss unten sehen können, werden Sie beim Einfügen eines neuen Blatts von Excel aufgefordert, den Blatttyp auszuwählen.
Hier ist Folgendes zu verstehen: Wenn Sie das Wort „Blätter“ verwenden, beziehen Sie sich auf alle Blätter (Tabellenkalkulationen, Makroblätter und Diagrammblätter), aber wenn Sie das Wort „Arbeitsblatt“ verwenden, beziehen Sie sich nur auf Tabellenkalkulationen ( siehe Auch ).
Greifen Sie mit VBA auf ein Arbeitsblatt zu
VBA bietet Ihnen verschiedene Möglichkeiten, aus einer Arbeitsmappe auf ein Arbeitsblatt zuzugreifen. Wir werden uns später mit verschiedenen Möglichkeiten dafür befassen.
1. Verweisen Sie auf ein Blatt mit dem Namen
Jedes Blatt hat seinen Namen, um es zu identifizieren, und Sie können ihn auch verwenden, um auf dieses Blatt zu verweisen. Angenommen, Sie möchten auf „Blatt1“ verweisen, der Code wäre:
Sheets(“Sheet1”) Worksheets(“Sheet1”)
Die beiden Codes oben beziehen sich auf „Sheet1“.
2. Beziehen Sie sich anhand der Nummer auf das Blatt
Sie können auch eine Blattnummer verwenden, um darauf zu verweisen. Angenommen, ein Blatt befindet sich an fünfter Position in der Arbeitsmappe, dann können Sie diese Nummer verwenden, um darauf zu verweisen.
Sheets (5) Worksheets (5)
Oben sind nun zwei Codezeilen, die auf zwei verschiedene Arten funktionieren. Die erste Zeile bezieht sich auf das 5. Blatt und die zweite auf das 5. Arbeitsblatt im Arbeitsbuch.
3. Sehen Sie sich das ActiveSheet an
Wenn ein Blatt bereits aktiv ist, können Sie darauf verweisen, indem Sie anstelle seines Namens das Schlüsselwort „Activesheet“ verwenden.
ActiveSheet
Wenn Sie eine Aktivität in ActiveSheet ausführen möchten, können Sie das Objekt „Activesheet“ verwenden. Wenn Sie es jedoch nicht verwenden, führt VBA die Aktivität trotzdem im aktiven Blatt aus.
Lesen Sie: Wählen Sie einen Bereich mit VBA aus
4. Verweisen Sie auf ein Blatt mit dem Namen des Codefensters
Jedes Blatt hat sein Codefenster und es gibt einen Namen für dieses Codefenster. Normalerweise kann ein Benutzer den Blattnamen auf der Registerkarte ändern, aber der Name im Codefenster kann nur geändert werden, wenn Sie dies über die Eigenschaften tun.
Öffnen Sie den Visual Basic-Editor über die Registerkarte „Entwickler“. Im Abschnitt „Eigenschaften“ können Sie den Namen des von Ihnen ausgewählten Blatts sehen.
Sie können diesen Namen auch im Abschnitt „Eigenschaften“ ändern.
Sie können nun mithilfe des Codefensternamens darauf verweisen.
mySheet
5. Siehe „Mehrere Blätter“.
Sie können mit einer einzigen Codezeile auch mehrere Blätter gleichzeitig referenzieren. Hierzu können Sie ein Array verwenden, genau wie im folgenden Code.
Sheets(Array("Sheet1", "Sheet2"))
Dieser Code bezieht sich auf „Blatt1“ und „Blatt2“. Wenn Sie jedoch auf mehrere Blätter verweisen, müssen Sie eines beachten: Es gibt einige Methoden und Eigenschaften, die Sie nicht verwenden können.
6. Sehen Sie sich das Blatt in einer anderen Arbeitsmappe an
Ein Arbeitsblatt oder Blatt ist Teil der Sammlung von Arbeitsblättern in einer Arbeitsmappe. Wenn Sie auf ein bestimmtes Blatt außer der aktiven Arbeitsmappe verweisen möchten, müssen Sie zuerst auf diese Arbeitsmappe verweisen.
Workbooks("Book1").Sheets("Sheet1")
Um diesen Code auszuführen, muss „Book1“ geöffnet sein.
Eigenschaften, Methoden und Ereignisse im Zusammenhang mit einem Blatt oder Arbeitsblatt
In VBA verfügt jedes Excel-Objekt über Eigenschaften, Methoden und Ereignisse, die Sie verwenden können, und auf die gleiche Weise können Sie auf die zugehörigen Eigenschaften und Methoden zugreifen. Sobald Sie ein Arbeitsblatt angegeben haben, geben Sie einen Punkt (.) ein und Sie erhalten die Liste.
In dieser Liste sind alle Symbole, bei denen eine Hand zu sehen ist, Eigenschaften und bei denen ein grüner Ziegelstein Methoden ist.
Immobilienbeispiel
Angenommen, Sie möchten die Farbe der Arbeitsblattregisterkarte ändern. In diesem Fall können Sie die TAB-Eigenschaft des Arbeitsblatts verwenden.
mySheet.Tab.ThemeColor = xlThemeColorAccent2
In der obigen Codezeile verfügen Sie über die Tab-Eigenschaft und eine weitere Design-Farbeigenschaft, um die Farbe der Arbeitsblatt-Registerkarte zu ändern.
Beispielmethode
Ebenso können Sie die mit den Tabellenkalkulationen bereitgestellten Methoden verwenden. Eine der gebräuchlichsten Methoden ist die „Auswählen“-Methode, mit der Sie ein Blatt auswählen können.
mySheet.Select
Sobald Sie diesen Code ausführen, wählt er „mySheet“ in der aktiven Arbeitsmappe aus.
Beispielveranstaltung
Einige Ereignisse sind mit einem Arbeitsblatt verknüpft. Wenn Sie beispielsweise ein Blatt aktivieren, handelt es sich um ein Ereignis, und dasselbe gilt auch, wenn Sie etwas im Blatt ändern. Sehen Sie sich den folgenden Code an, in dem Sie Code zum Ausführen haben, wenn ein Ereignis (Änderung im Arbeitsblatt) auftritt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub
Dieser Code gibt jedes Mal, wenn Sie eine Änderung im Arbeitsblatt vornehmen, einen Wert in Zelle A1 des Blattes ein.
Deklarieren Sie ein Arbeitsblattobjekt
Sie können eine Variable auch als Arbeitsblatt deklarieren, was die Verwendung dieses Arbeitsblatts im VBA-Code erleichtert. Verwenden Sie zuerst das Schlüsselwort DIM und dann den Variablennamen. Geben Sie anschließend den Objekttyp als Arbeitsblatt an.