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
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
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