Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheets mit ähnlichen Namen finden und löschen

Sheets mit ähnlichen Namen finden und löschen
12.05.2009 11:17:49
Jörg
hallo,
ich komme im Moment einfach nicht weiter und hoffe das ihr mir evtl. etwas klarheit schaffen könnt.
Ich möchte gerne alle in einer Excel-Datei befindlichen Sheets auf den Namen einer Checkbox überprüfen
und dann diese löschen. Dabei kann es vorkammen , das die mehrere Sheet vorhanden sind die nur einen Index im Sheetnamen haben (z.B. file_1, file_2 usw.)
Mein Script durchläuft das gnaze aber immer nur einmal und läst anderen Sheets einfach liegen.

For Each oBcb In UserForm1.MultiPage1.Pages(1).BGV.Controls
blnFound_del = False
fbfile = oBcb.Caption
For Each objWks In Worksheets
If InStr(objWks.Name, fbfile) Then blnFound_del = True: Exit For ' _
objWks.Name= fbfile Then blnFound_del = True: Exit For
Next
If blnFound_del Then 'wenn die Tabelle nicht vorhanden, dann  _
weitermachen
Application.DisplayAlerts = False
On Error Resume Next
ActiveWorkbook.Worksheets(objWks.Name).Delete
ActiveWorkbook.Worksheets("Startseite").Activate
End If
Next
Application.DisplayAlerts = True
oBcb.Value = False
End If 'blnFound_del
'End If 'OBJWKS
Next oBcb


Ich weiss nicht wie und wo ich die Schleife am besten platzieren muss.
Gruß Jörg

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets mit ähnlichen Namen finden und löschen
18.05.2009 16:04:01
fcs
Hallo Jörg,
mit der folgenden Anpassung (ungetestet!!) sollten für jedes Controls-Element (Checkboxen und andere) immer alle Blätter geprüft und ggf. gelöscht werden.
Gruß
Franz

Sub bbTest()
On Error Resume Next
For Each oBcb In UserForm1.MultiPage1.Pages(1).BGV.Controls
fbfile = oBcb.Caption
For Each objWks In Worksheets
'Prüfen ob Controls-Name im Tabellennamen
If InStr(objWks.Name, fbfile) > 0 Then
'oder
'Prüfen, ob Controls-Name am Anfang des Tabellenamens
'                  If LCase(Left(objWks.Name, Len(fbfile))) = LCase(fbfile) Then
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets(objWks.Name).Delete
Application.DisplayAlerts = True
ActiveWorkbook.Worksheets("Startseite").Activate
oBcb.Value = False
End If
Next objWks
Next oBcb
End Sub


Anzeige
AW: Sheets mit ähnlichen Namen finden und löschen
18.05.2009 16:12:21
Jörg
Danke dir für deine Antwort.....
Über das Wochenende habe ich auch noch mal einiges probiert und dazu gekommen:

For Each oBcb In UserForm1.MultiPage1.Pages(1).BGV.Controls
blnFound_del = False
fbfile = oBcb.Caption
For Each objwks In Worksheets
If InStr(objwks.Name, fbfile) Then blnFound_del = True: Exit For ' _
objWks.Name= fbfile Then blnFound_del = True: Exit For
Next
If blnFound_del Then 'wenn die Tabelle nicht vorhanden, dann  _
weitermachen
Application.DisplayAlerts = False
On Error Resume Next
'ActiveWorkbook.Worksheets(fbfile).Delete
Dim objSh As Worksheet
Dim objS As Worksheet
For Each objS In Worksheets
If InStr(objS.Name, fbfile) Then
Set objSh = objS
objSh.Delete
End If
Next objS
ActiveWorkbook.Worksheets("Startseite").Activate
'End If
'                                Next
Application.DisplayAlerts = True
oBcb.Value = False
End If 'blnFound_del
'End If 'OBJWKS
Next oBcb


Gruß Jörg

Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige