VBA-Beispiel 093
mail schreiben
mail schreiben

Tabellen vor dem Schließen entfernen

Vor dem Schließen der Datei mit VBA automatisch alle Tabellen löschen, die nicht Start, Daten oder Test heißen.

Das Makro muß in das Klassenmodul "Diese Arbeitsmappe".
Option Explicit
Option Base 1
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Tabellen die nicht in der Liste sind entfernen
Dim Arr_wks()
Dim wks As Worksheet
Dim i As Integer
Dim weg_damit As Boolean

'Liste der Tabellen die NICHT gelöscht werden sollen
Arr_wks = Array("Start", "Daten", "Test")

For Each wks In ThisWorkbook.Worksheets

  For i = LBound(Arr_wks) To UBound(Arr_wks)
    If wks.Name <> Arr_wks(i) Then
      weg_damit = True
    Else
      weg_damit = False
      Exit For
    End If
  Next i

  If weg_damit = True Then
    wks.Visible = xlSheetVisible
   'löschen ohne Nachfrage
    Application.DisplayAlerts = False
    wks.Delete
    Application.DisplayAlerts = True
  End If

weg_damit = False
Next wks           'nächste Tabelle

ThisWorkbook.Save 'Datei speichern

End Sub

Download:   vba093.zip