Excel VBA – Tabellen löschen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
Hallo, in diesem How To zeige ich Ihnen wie Sie über ein VBA Makro Tabellen löschen können. In unserer Aufgabenstellung möchten wir alle bis auf die erste Tabelle in der Mappe löschen. Ich zeige Ihnen zwei Varianten, einmal über den Tabellenamen, und in der zweiten Variante über den Codenamen der Tabelle.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Wechseln Sie zunächst in die Entwicklungsumgebung und fügen Sie ein neues Modul ein. Zur Lösung unserer Aufgabe verwenden wir eine For Each Schleife.
Für diese benötigen wir eine Variable von Typ Worksheet. Anschließend setzen wir unsere Schleife auf.

Sub TabellenEntfernen()
Dim Sheet As Worksheet

For Each Sheet In ActiveWorkbook.Worksheets

Next Sheet
End Sub

Innerhalb der Schleife führen wir eine Prüfung durch. Wenn der Name der jeweiligen Tabelle nicht „Sheet1“ lautet, wird diese gelöscht. Bei einer Löschung werden wir standardmäßig gefragt, ob wir die Tabelle wirklich löschen wollen. Diese Meldung können wir über die Eigenschaft DisplayAlerts aus- und wieder einschalten.

Sub TabellenEntfernen()
Dim Sheet As Worksheet

For Each Sheet In ActiveWorkbook.Worksheets

If Sheet.Name <> "Sheet1" Then
    Application.DisplayAlerts = False
    Sheet.Delete
    Application.DisplayAlerts = True
End If

Next Sheet
End Sub

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Wenn Sie statt den normalen Namen den von Ihnen in der Entwicklungsumgebung definierten Codenamen verwenden wollen ändern Sie das Makro wie folgt ab:

Sub TabellenEntfernenCodeName()
Dim Sheet As Worksheet

For Each Sheet In ActiveWorkbook.Worksheets

If Sheet.CodeName <> "SheetCodeName" Then
    Application.DisplayAlerts = False
    Sheet.Delete
    Application.DisplayAlerts = True
End If

Next Sheet
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.