Zugriff auf Arbeitsmappen und Tabellen in Excel VBA
In diesem Tutorial zeige ich Euch wie Ihr auf Arbeitsmappen und TabellenblÀtter zugreifen könnt. Vor allem geht es hier um den direkten Zugriff auf eine ausgewÀhlte Tabelle in einer ausgewÀhlten Arbeitsmappe.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Achtung:
Benutzt zum Ăben eine separate Tabelle fĂŒr Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
Beispielscript Zugriff auf Arbeitsmappe mit Index
In diesem Beispiel wird die Arbeitsmappe 2 aktiviert und in den Vordergrund geholt. Wenn Ihr dieses Script also ausprobieren wollt mĂŒsst Ihr natĂŒrlich auch mindestens 2 Arbeitsmappen geöffnet haben. In dieser Arbeitsmappe wird dann in der aktiven Tabelle in Zelle C1 ein X eingetragen.
Sub ArbeitsmappenTabellenblaetterTutorial1() Workbooks(2).Activate Range("C1").Value = "X" End Sub
Beispielscript Zugriff auf Tabellenblatt mit dem Namen
Hier wird mit ThisWorkbook auf die Arbeitsmappe zugegriffen in der sich auch das Modul befindet. Wenn Ihr ThisWorkbook aufruft könnt Ihr immer sicher sein dass damit die Arbeitsmappe angesprochen wird die zum gleichen Projekt gehört. Hier in diesem Beispiel greift ThisWorkbook im Modul1 (1) auf "DieseArbeitsmappe" zu.

ThisWorkbook Arbeitsmappe im gleichen Projekt
AnschlieĂend wird in Tabelle2 die Zelle E1 selektiert / ausgewĂ€hlt und bekommt damit diesen Rahmen. In der Zeile danach wird dann ebenfalls in Zelle E1 das X eingetragen.
Sub ArbeitsmappenTabellenblaetterTutorial2() ThisWorkbook.Activate Worksheets("Tabelle2").Range("E1").Select Range("E1").Value = "X" End Sub
Beispielscript Zugriff auf Arbeitsmappen und Tabellen Objekt
Im nachfolgenden Beispiel wird das Objekt Arbeitsmappe benutzt um darauf zuzugreifen. "DieseArbeitsmappe" ist im Grund genommen das gleiche wie ThisWorkbook.
Wir können mit DieseArbeitsmappe.Activate die Arbeitsmappe aktivieren (in den Vordergrund holen) in der das Modul steckt. Achtet aber darauf dass der Name geÀndert werden kann und dieser dann im Code entsprechend angepasst werden muss.
Das gleiche gilt auch fĂŒr die Tabelle. Mit Worksheets(3) wĂ€hlen wir ĂŒber den Index die dritte Tabelle aus. Auch hier mĂŒsst Ihr aufpassen da die Reihenfolge in Excel selbst vom Benutzer verschoben werden kann. Deshalb ist es manchmal ratsam auf das Tabellen Objekt zuzugreifen. Durch MeineTabelle1 wurde hier in der vorletzten Codezeile in B6 ein x eingetragen. Dieser Name MeineTabelle1 kann vom normalen Excelbenutzer nicht einfach geĂ€ndert werden. Dies ist nur ĂŒber den VBA Editor im Bereich "Eigenschaften" möglich.
Sub ArbeitsmappenTabellenblaetterTutorial3() DieseArbeitsmappe.Activate Worksheets(3).Range("A3").Value = "x" MeineTabelle1.Range("B6").Value = "x" End Sub
Beispielscript Zugriff auf Arbeitsmappe
Im nachfolgenden Beispiel wird auf eine zuvor gespeicherte Arbeitsmappe zugegriffen. Wenn Ihr mit Workbooks.Add eine neue Mappe erzeugt dann heiĂt sie in der Regel Mappe1 und kann auch genau ĂŒber diesen Namen dann angesprochen werden. Im unteren Script habe ich deshalb als Beispiel einmal eine vorher gespeicherte Arbeitsmappe aktiviert.
Wenn Ihr das ausprobieren möchtet braucht Ihr natĂŒrlich auch eine Arbeitsmappe mit dem gleichen Namen đ
Sub ArbeitsmappenTabellenblaetterTutorial4() Workbooks("NeueMappeGespeichert.xlsx").Activate Range("E4").Value = "X" End Sub