Tabellenblätter positionsgenau hinzufügen in Excel VBA
In diesem Tutorial werde ich Euch zeigen wie Ihr Tabellenblätter in Eurer Arbeitsmappe positionsgenau hinzufügen könnt. Damit könnt Ihr dann festlegen ob die neue Tabelle am Anfang oder auch Ende hinzugefügt werden soll. Gleichzeitig zeige ich auch gleich wie Ihr der neuen Tabellen einen Namen verpassen könnt.
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:
Einfügen eines Tabellenblattes in Excel VBA
Die einfachste Art ein neues Tabellenblatt hinzuzufügen ist folgender Code:
Sub neueTabelleTutorial() Workbooks.Add End Sub
Einfügen eines Tabellenblattes in festgelegte Arbeitsmappe
Das Problem beim obigen Code ist allerdings, dass er immer bei der gerade aktiven Arbeitsmappe ausgeführt wird und nicht auf eine festgelegte. Wenn Ihr eine bestimmte Arbeitsmappe ansprechen wollt dann benötigt Ihr den Namen oder den Index der Arbeitsmappe.
Sub neueTabelleInArbeitsmappeTutorial() 'Mit den Namen der Arbeitsmappe Workbooks("Mappe1").Worksheets.Add 'Mit dem Index der Arbeitsmappe Workbooks(1).Worksheets.Add 'Diese Arbeitsmappe wo dieser Code gespeichert wird. ThisWorkbook.Worksheets.Add 'Über den Namen des Arbeitsmappen Objekts DieseArbeitsmappe.Worksheets.Add End Sub
Einfügen des Tabellenblattes an eine festgelegte Position
Jetzt wollen wir unsere Tabelle natürlich nicht immer an den Anfang der Arbeitsmappe einfügen sondern vielleicht auch einmal an eine bestimmte Position. Ihr könnt die Position mit Before oder After bestimmen. Wichtig dabei ist immer dass Ihr danach ein Doppelpunkt und ein Gleichheitszeichen benutzt. Im Grunde genommen sagt Ihr einfach vor oder hinter und anschließend die Position. Also vor Position x oder nach Position x. Als Angabe könnt Ihr dann das aktive also gerade sichtbare Tabellenblatt mit ActiveSheet ansprechen. Ihr könnt natürlich auch eine bestimmte Position mit Sheets(PositionsNummer) angeben. Ihr müsst aber darauf achten das die Nummer die Ihr dort eintragt auch existiert. Gezählt wird von links nach rechts.
Im jetzt folgenden Beispiel fügen wir ein Tabellenblatt an zweite Position ein und anschließend einmal vor und einmal nach dem aktiven Tabellenblatt. Zum Schluss wird ein Tabellenblatt an letzter Stelle eingefügt. Hierfür benutzen wir Sheets.Count um die gesamte Anzahl aller vorhandener Tabellenblätter zu zählen. Diese Zahl übergeben wir dann Sheets um die genaue Position der letzten vorhandenen Tabelle zu ermitteln. Mit After setzen wir das Tabellenblatt also genau nach der letzten Tabelle ein.
Sub neueTabelleAnBestimmtePositionTutorial() 'Einfügen des Tabellenblatts an zweiter Position Workbooks(1).Worksheets.Add Before:=Sheets(2) 'Einfügen des Tabellenblatts vor dem aktiven Tabellenblatt Workbooks(1).Worksheets.Add Before:=ActiveSheet 'Einfügen des Tabellenblatts nach dem aktiven Tabellenblatt Workbooks(1).Worksheets.Add After:=ActiveSheet 'Einfügen des Tabellenblatts an letzter Position Workbooks(1).Worksheets.Add After:=Sheets(Sheets.Count) End Sub
Einfügen des Tabellenblattes mit neuen Namen
Wenn Ihr eine neue Tabelle an einer bestimmten Position einfügen wollt und auch gleichzeitig einen Namen festlegen wollt, könnt Ihr folgendermaßen vorgehen.
Im Grunde genommen ist das genau wie in der oberen Tabelle aufgebaut nur das die Parameter in Klammern stehen. Anschließend wir nur noch ein Punkt und Name ="NeuerName" hinzugefügt. Das ganze sieht dann für das hinzufügen an letzter Position so aus.
Sub neueTabelleAnBestimmtePositionMitNameTutorial() 'Hinzufügen einer neuen Tabelle Workbooks(1).Worksheets.Add(After:=Sheets(Sheets.Count)).Name = "Letzte Tabelle" End Sub
Das könnte Dich auch interessieren
- Arbeitsmappe erstellen und speichern in Excel VBA
- Auf Zellen zugreifen mit Range 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 Next Schleife in Excel VBA
- Gültigkeitsbereich von Variablen in Excel VBA