Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblätter löschen - aber nicht alle

Tabellenblätter löschen - aber nicht alle
strodti
Hallo liebes Forum,
in meiner Datei werden durch verschiedene Prozeduren einige Tabellenblätter angelegt (die Anzahl ist variabel), die jedoch nur temporär benötigt werden. Nachfolgenden Code habe ich im Netz gefunden (von Hajo ursprünglich). Dieser Code löscht alle Blätter außer dem Ersten bzw. Tabelle1. Wie muss ich den Code ändern, damit alle Blätter außer die ersten sieben Blätter gelöscht werden.
Sub Loeschen()
' Alle Register löschen bis auf Register Tabelle1
Dim I As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For I = ActiveWorkbook.Worksheets.Count To 1 Step -1
If Worksheets(I).Name  "Tabelle1" Then _
Worksheets(I).Delete
Next I
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Vielen Dank,
Tobias
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblätter löschen - aber nicht alle
29.09.2010 14:12:25
Hajo_Zi
Hallo Tobias,
es geht jetzt nicht um Namen sondern die erstren 7.
Versuchs so
Option Explicit
Sub Loeschen()
' Alle Register löschen bis auf Register Tabelle1
Dim I As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For I = ActiveWorkbook.Worksheets.Count To 8 Step -1
Worksheets(I).Delete
Next I
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub


Anzeige
AW: Tabellenblätter löschen - aber nicht alle
29.09.2010 14:17:22
Hajo_Zi
Hallo Tobias,
sicherer wäre es mir mit Tabellennamen, falls jemand mal die REihenfolge ändert.
Option Explicit
Sub Loeschen()
' Alle Register löschen bis auf Register Tabelle1
Dim I As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For I = ActiveWorkbook.Worksheets.Count To 1 Step -1
Select Case UCase(Worksheets(I).Name)
Case "TABELLE1", "TABELLE2", "TABELLE3", "TABELLE4", _
"TABELLE5", "TABELLE6", "TABELLE7"
Case Else
Worksheets(I).Delete
End Select
Next I
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Gruß Hajo
Anzeige
AW: Tabellenblätter löschen - aber nicht alle
29.09.2010 14:19:39
strodti
Hallo Hajo,
genau so hatte ich es mir vorgestellt (und mal wieder doch so einfach).
Vielen lieben Dank an Dich, auch stellvertretend für all die anderen Hilfsbereiten in diesem Forum (arbeitet Ihr eigentlich?)
Bis zum nächsten Mal!
Tobias
DAAANKE Hajo...
29.09.2010 14:22:48
strodti
... ich sehe gerade - zwei Antworten von Dir in 5 minuten!!
Danke für beide Codevorschläge.
Nochmals besten Dank.
Tobias
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblätter selektiv löschen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel mehrere Tabellenblätter zu löschen, aber einige beizubehalten, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du das machen kannst:

  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    Sub Loeschen()
       ' Alle Register löschen bis auf die ersten 7 Register
       Dim I As Integer
       Application.ScreenUpdating = False
       Application.DisplayAlerts = False
       For I = ActiveWorkbook.Worksheets.Count To 8 Step -1
           Worksheets(I).Delete
       Next I
       Application.ScreenUpdating = True
       Application.DisplayAlerts = True
    End Sub
  4. Ändere den Code entsprechend deinen Anforderungen, falls du andere Blätter beibehalten möchtest (z.B. die ersten 7 Blätter).

  5. Führe das Makro aus, indem du in der Menüleiste auf Ausführen klickst oder F5 drückst.


Häufige Fehler und Lösungen

  • Excel Blatt kann nicht gelöscht werden

    • Stelle sicher, dass das Arbeitsblatt nicht geschützt ist. Du kannst den Schutz in den Blattoptionen aufheben.
  • Excel Tabellenblatt löschen geht nicht

    • Überprüfe, ob das Blatt, das du löschen möchtest, dein aktives Blatt ist. Manchmal blockiert Excel das Löschen eines aktiven Blattes.
  • Excel reiter löschen geht nicht

    • Wenn die Blätter durch eine Formel referenziert werden, kann das Löschen ebenfalls blockiert sein. Entferne die Referenzen, bevor du die Blätter löscht.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, gibt es auch manuelle Methoden:

  • Manuelles Löschen: Halte die Strg-Taste gedrückt und klicke auf die Registerkarten der Blätter, die du löschen möchtest. Klicke dann mit der rechten Maustaste und wähle Löschen.

  • Blätter gruppieren: Du kannst mehrere Blätter gruppieren und diese dann gleichzeitig löschen, indem du mit der rechten Maustaste auf eine der gruppierten Registerkarten klickst.


Praktische Beispiele

Hier sind zwei praktische Beispiele für das Löschen von Tabellenblättern:

  1. Alle Blätter außer den ersten 3 löschen:

    Sub Loeschen()
       Dim I As Integer
       Application.ScreenUpdating = False
       Application.DisplayAlerts = False
       For I = ActiveWorkbook.Worksheets.Count To 4 Step -1
           Worksheets(I).Delete
       Next I
       Application.ScreenUpdating = True
       Application.DisplayAlerts = True
    End Sub
  2. Bestimmte Blätter nach Namen löschen:

    Sub Loeschen()
       Dim I As Integer
       Application.ScreenUpdating = False
       Application.DisplayAlerts = False
       For I = ActiveWorkbook.Worksheets.Count To 1 Step -1
           Select Case UCase(Worksheets(I).Name)
               Case "TABELLE1", "TABELLE2", "TABELLE3"
               Case Else
                   Worksheets(I).Delete
           End Select
       Next I
       Application.ScreenUpdating = True
       Application.DisplayAlerts = True
    End Sub

Tipps für Profis

  • Backup erstellen: Bevor du mehrere Arbeitsblätter löschst, erstelle eine Sicherungskopie deiner Datei, um Datenverlust zu vermeiden.

  • Verwendung von Debugging: Wenn du mit VBA arbeitest, nutze den Debugger, um sicherzustellen, dass dein Code wie erwartet funktioniert.

  • Vermeide unnötige Bestätigungen: Setze Application.DisplayAlerts = False, um Bestätigungsdialoge beim Löschen zu unterdrücken.


FAQ: Häufige Fragen

1. Wie kann ich alle Tabellenblätter löschen, außer den ersten 7? Du kannst den oben genannten VBA-Code verwenden und die Schleife so anpassen, dass sie nur bis 8 läuft.

2. Was tun, wenn Excel sagt, dass ein Blatt nicht gelöscht werden kann? Überprüfe, ob das Blatt geschützt ist oder von einer Formel referenziert wird. Entferne den Schutz oder die Referenzen, um das Blatt zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige