Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt löschen

Tabellenblatt löschen
siegfried
hallo
ich möchte unterschiedlich viele Tabellenblätter löschen. In den VBA-Beispielen fand ich einen Code, den ich auf meine Situation angepasst habe. Leider klappt das so nicht. Woran könnte das liegen. Hier mein Code:
Sub TabellenblätterEntfernen()
Dim i, iAnzahl, iCol As Integer
Dim Txt As String
iCol = Range("Relevanz.Zusammenfassung").Column
iAnzahl = WorksheetFunction.CountA(Columns(Range("Relevanz.Zusammenfassung").Column)) - 1
Application.DisplayAlerts = False
On Error Resume Next
For i = 1 To iAnzahl
Txt = Right(Range("Relevanz.Zusammenfassung").Offset(i, 0).Value, _
Len(Range("Relevanz.Zusammenfassung").Offset(i, 0).Value) - 6)
Worksheets(Txt).Delete
Next i
On Error GoTo 0
Application.DisplayAlerts = True
Tabelle1.Select
End Sub
Siegfried

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblatt löschen
08.09.2009 21:08:05
Original
Hi,
löschen immer von hinten:
For i = iAnzahl to 1 step -1
mfg Kurt
nee, Kurt
08.09.2009 21:23:46
Uduuh
Hallo,
in dem Fall geht er ja ne Liste durch und löscht entsprechend die Sheets
Was da nicht geht, kann man nur an ner Bsp-Mappe feststellen.
Außerdem wäre
Txt= Mid(Range("Relevanz.Zusammenfassung").Offset(i, 0).Value, 7)
kürzer.
Gruß aus’m Pott
Udo

AW: nee, Kurt
08.09.2009 21:50:23
siegfried
hallo
das hilft mir leider nicht. Mal abwarten, ob jemand schon mal eine ähnliche Fragestellung hatte und dafür eine Lösung hat.
Siegfried
AW: nee, Kurt
08.09.2009 22:03:32
Uduuh
Hallo,
wie gesagt: Beispiel hochladen.
Gruß aus’m Pott
Udo

Anzeige
AW: nee, Kurt
08.09.2009 22:21:49
siegfried
Hallo Kurt aus den Ruhrpott,
auf jeden Fall ein dankeschön an Dich für Deine Bemühung.
Aber mein Code ist das Beispiel. Ich habe in der Tat eine Liste erstellt, in der die Namen der fraglichen Tabellenblätter stehen. Und genau diese Tabellenblätter will ich löschen.
Gruß
Siegfried aus Niedersachsen
AW: nee, Kurt
08.09.2009 22:26:46
Josef
Hallo Siegfried,
wenn die Tabellennamen in deinem benannten bereich stehen, dann so.
Sub delSheets()
  Dim rng As Range
  
  On Error Resume Next
  Application.DisplayAlerts = False
  For Each rng In Range("Relevanz.Zusammenfassung")
    Sheets(rng.Text).Delete
  Next
  Application.DisplayAlerts = True
End Sub

Gruß Sepp

Anzeige
du verstehst es nicht
08.09.2009 22:30:27
Uduuh
Hallo,
der Kurt aus'm Pott heißt Udo.
Lad die Mappe hoch!
Gruß aus’m Pott
Udo

AW: du verstehst es nicht
08.09.2009 23:38:42
siegfried
Hallo Udo,
Sorry für die Verwechslung des Namens.
Ich habe es natürlich auch mit dem unveränderten Code aus den VBA-Beispielen versucht (um einen möglichen Fehler in meiner Anpassung zu vermeiden), aber das funktioniert eben nicht.
Sub TabellenblätterEntfernen()
Dim i, iAnzahl, iCol As Integer
Dim Txt As String
'   Dim rng As Range
iCol = Range("Relevanz.Zusammenfassung").Column
iAnzahl = WorksheetFunction.CountA(Columns(Range("Relevanz.Zusammenfassung").Column)) - 1
Application.DisplayAlerts = False
On Error Resume Next
For i = 1 To iAnzahl
Txt = Right(Range("Relevanz.Zusammenfassung").Offset(i, 0).Value, _
Len(Range("Relevanz.Zusammenfassung").Offset(i, 0).Value) - 6)
Worksheets(Txt).Delete
Next i
'   For Each rng In Range("CA1").CurrentRegion.Cells
'      Worksheets(rng.Value).Delete
'   Next rng
On Error GoTo 0
Application.DisplayAlerts = True
'   Tabelle1.Select
End Sub
Ein Hochladen der Datei bringt keine neue Situation. So bleibt für mich die vorläufige Feststellung, dass die Beiispiele nicht immer hinhauen.
Gruß
Siegfried
Anzeige
AW: Tabellenblatt löschen
09.09.2009 10:32:47
siegfried
Danke Kurt, Udo, Josef,
ich hab den Fehler gefunden. Der Code war o.k. Die Anzahl der Schleifendurchläufe war fehlerhaft.
Gruß
Siegfried

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige