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

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

Anzeige

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
;

Forumthreads zu verwandten Themen

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