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

Forumthread: Bestimmte Tabellenblätter löschen

Bestimmte Tabellenblätter löschen
30.04.2005 17:02:09
KH
Hallo!
Wenn ich ein bestimmtes Makro ausführe muss der Benutzer eine Objektnummer eingeben. Excel soll dann alle Tabellenblätter löschen, die diese Nummer in Ihrem Namen beinhalten. Wie kann ich das am Einfachsten machen?
Gruß,
KH
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Tabellenblätter löschen
30.04.2005 17:09:26
Ramses
Hallo
Option Explicit

Sub Kill_Object_Table()
Dim i As Integer
Dim srcObj As String, tmpDel As String
srcObj = InputBox("Bitte Objectnummer eingeben:", "Tabellen mit Objectnummer löschen", "")
If srcObj = "" Then
MsgBox "Keine Objectnummer", vbInformation + vbOKOnly, "Abbruch"
Exit Sub
End If
tmpDel = ""
For i = Worksheets.Count To 1 Step -1
If InStr(1, Worksheets(i).Name, srcObj) > 1 Then
Application.DisplayAlerts = False
tmpDel = tmpDel & Worksheets(i).Name & Chr$(13)
Worksheets(i).Delete
Application.DisplayAlerts = True
End If
Next i
If tmpDel <> "" Then
MsgBox "Folgende Tabellen wurden gelöscht: " & Chr$(13) & tmpDel
Else
MsgBox "Keine Tabelle mit Objectnummer: " & srcObj & " gefunden! "
End If
End Sub

Gruss Rainer
Anzeige
...Besser so. Ist sicherer :-)
30.04.2005 17:14:40
Ramses
Hallo

Sub Kill_Object_Table_Secure()
Dim i As Integer, Qe As Integer
Dim srcObj As String, tmpDel As String
srcObj = InputBox("Bitte Objectnummer eingeben:", "Tabellen mit Objectnummer löschen", "")
If srcObj = "" Then
MsgBox "Keine Objectnummer", vbInformation + vbOKOnly, "Abbruch"
Exit Sub
End If
tmpDel = ""
For i = Worksheets.Count To 1 Step -1
If InStr(1, Worksheets(i).Name, srcObj) > 1 Then
tmpDel = tmpDel & Worksheets(i).Name & Chr$(13)
End If
Next i
If tmpDel <> "" Then
Qe = MsgBox("Ihr Suchbegriff lautet: " & srcObj & Chr$(13) & _
"Folgende Tabellen werden gelöscht: " & Chr$(13) & tmpDel, vbQuestion + vbYesNo, "Löschen bestätigen")
Else
MsgBox "Keine Tabelle mit Objectnummer: " & srcObj & " gefunden! "
Exit Sub
End If
If Qe = vbYes Then
For i = Worksheets.Count To 1 Step -1
If InStr(1, Worksheets(i).Name, srcObj) > 1 Then
Application.DisplayAlerts = False
Worksheets(i).Delete
Application.DisplayAlerts = True
End If
Next i
Else
MsgBox "Es werden keine Tabellen gelöscht"
End If
End Sub

Gruss Rainer
Anzeige
AW: Geht noch nicht ganz
30.04.2005 17:31:36
KH
Hallo!
Danke, klappt am Anfang auch noch wunderbar. Er listet mir alle Tabellenblätter auf, die gefunden und gelöscht werden können. Nur leider wird dann bei jedem Klick auf OK nur eines der Tabellenblätter gelöscht. Beim nächsten Mal durchführen wird wieder nur eines gelöscht.
Gruß,
KH
Anzeige
Klar geht das...
30.04.2005 17:37:42
Ramses
Hallo
Tut mir leid.
Aber das Makro funktioniert einwandfrei.
Es gibt auch keinen OK-Button zum bestätigen von einzelnen LöschAktionen
Wenn du auf OK klickst, läuft die innere I-Schleife los und löscht alles was vorher aufgelistet wurde,... und zwar ohne Rückfrage.
Ich weiss nicht, wo du das Makro eingebaut hast, so wie ich es geschrieben habe tut es.
Gerade nochmal getestet mit 30 Tabellen.
Die waren nach "Ja" alle weg.
Gruss Rainer
Anzeige
AW: Klar geht das...
30.04.2005 17:45:58
KH
Hi!
Weiß auch nicht, was bei mir los war. In einer anderen Datei ging es jetzt und in derjenigen, wo ich es zuerst probiert hatte geht es jetzt auch einwandfrei.
Vielen Dank für die Mühe!
Gruß,
KH
AW: ...Besser so. Ist sicherer :-)
30.04.2005 17:33:41
Gunnar
Hi,
ein Blatt muss bleiben, dein Code versucht u.U. alle Blätter zu löschen.
mfg Gunnar
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige