388 Aufrufe
Gefragt in Tabellenkalkulation von
ich habe eine Arbeitsmappe mit veränderlicher Anzahl Tabellenblätter und Tabellennamen in der Zelle (B1) text vergeben. Jetzt soll ein Makro alle Tabellenblätter prüfen und immer wenn in der Zelle B1 der Text "meinText" steht, dieses Tabellenblatt löschen. Ich hab es bis jetzt nicht hinbekommen, bei mir läuft sich der Index tot (Laufzeitfehler).
Der fehlerhafte! Code ist:
Sub templöschen()
' VBlöschen Makro
Dim Tabelle As Worksheet
Dim i As Integer
'Worksheets.Add.Move before:=Worksheets(1)
'ActiveSheet.Name = "Inhalt"

For i = 1 To Sheets.Count

Worksheets(i).Select
Range("B1").Select
If ActiveCell.Text = "meinText" Then
ActiveWindow.SelectedSheets.Delete
i = i - 1
End If

Next

Sheets("Inhalt").Select
Range("A1").Select
End Sub

Vielen Dank für Hinweise!
Grüße
Petra

6 Antworten

0 Punkte
Beantwortet von
Hallo Peter ^^

Wie gewünscht :-)

Gruss Nighty

Sub WksDelete()
Application.DisplayAlerts = False
Dim WksIndex As Long, WksDel As Long
ReDim WksNamen(1 To Worksheets.Count) As String
For WksIndex = 1 To Worksheets.Count
If Worksheets(WksIndex).Range("B1") = "meinText" Then WksNamen(WksIndex) = Worksheets(WksIndex).Name
Next WksIndex
For WksDel = 1 To UBound(WksNamen)
If WksNamen(WksDel) <> "" Then Worksheets(WksDel).Delete
Next WksDel
Application.DisplayAlerts = True
End Sub
0 Punkte
Beantwortet von
Hallo Peter ^^

Bei deiner Vorgehensweise,musst du die Schleife Rückwärts gestalten,da sonst der Index nicht mehr stimmt :-)
Da ich das Rückwärts nicht mag,eben obige Lösung!

Gruss Nighty
0 Punkte
Beantwortet von
Hallo Nighty,

funktioniert leider auch nicht, ebenfalls Laufzeitfehler '9'.
Zudem werden so Seiten übersprungen (beim löschen geht Excel ja immer auf die nächste Tabelle; deshalb habe ich das i=i-1 drin).

Trotzdem danke
Petra
0 Punkte
Beantwortet von
Hallo Peter ^^

Worksheets werden geschützt sein!

Gruss Nighty
0 Punkte
Beantwortet von
Hallo Petra ^^

ops Name verschrieben :-)

Gruss Nighty
0 Punkte
Beantwortet von
Hallo Petra ^^

Geschützte werden bei mir auch gelöscht,zwar merkwürdig ,aber fakt :-)

Dein Fehler ist für mich nicht Reproduzierbar

Schick eine Musterdatei :-)

Bitte im Xls Format ,unter SaveAs erreichbar

Oberley@t-online.de

Gruss Nighty
...