PDA

Vollständige Version anzeigen : Tabellenblätter löschen


roland889
16.07.2014, 10:06
Hallo,

ich habe in meiner Arbeitsmappe mit Versteckten und nicht versteckten Tabellenblättern.

Ich würde gerne alle löschen bis auf die ersten zwei.

Kann mir bitte einer sagen wie ich das realisieren kann?

mit meinem Code bekomme ich leider die Fehlermeldung das es für die Methode fehlerhaft ist

Sub sheets_löschen()
Dim i As Long
If ActiveWorkbook.Sheets.Count < 3 Then Exit Sub
Application.DisplayAlerts = False
For i = ActiveWorkbook.Sheets.Count To 3 Step -1
ActiveWorkbook.Sheets(i).Delete
Next i
End Sub

MWOnline
16.07.2014, 10:11
Hallöchen,

das Makro läuft bei mir... hast Du einen Blattschutz oder einen Dokumentenschutz? Dieser muss vorher aufgehoben sein!

Für die VeryHidden Sheets must Du diese vorher wenigstens auf Hidden stellen. VeryHidden kann man so nicht direkt löschen!

Anmerkung: Die DisplayAlerts würde ich am Ende wieder einschalten ;)

Beste Grüße
Marc

Mc Santa
16.07.2014, 10:15
Hallo,

wenn ein Tabellenblatt über die VBA-Eigenschaft auf VeryHidden steht, muss es zuerst sichtbar gemacht werden, bevor es gelöscht werden kann.

Zudem würde ich die Blätter anders durchlaufen:
Sub su()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
If sh.Index > 2 Then
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
End If
Next sh
End Sub

Hilft dir das weiter?
VG

eckili
16.07.2014, 10:17
Hi,

versuch doch mal Folgendes:


Sub sheets_löschen()
Dim i As Long
If ActiveWorkbook.Sheets.Count <= 2 Then Exit Sub

Application.DisplayAlerts = False
For i = ActiveWorkbook.Sheets.Count to 3 Step -1
ActiveWorkbook.Sheets(i).visible = True
ActiveWorkbook.Sheets(i).Delete
Next i
Application.DisplayAlerts = True


End Sub