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.
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
Das könnte Dich auch interessieren
- Arbeitsmappe erstellen und speichern in Excel VBA
- Auf Zellen zugreifen mit Cells in Excel VBA
- Cells und Range kombiniert in Excel VBA
- Eine eigene Funktion erstellen ganz einfach (Excel)
- Entwicklertools anzeigen (Microsoft Excel)
- Excel VBA Kommentare schreiben
- For Each Schleife in Excel VBA
- Gültigkeitsbereich von Variablen in Excel VBA