Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Tabellenblätter löschen

Tabellenblätter löschen
29.01.2021 15:59:49
Jannik
Hallo,
ich möchte eine Reihe von Arbeitsblättern in Abhängigkeit der Sprache löschen. Ich benutze dafür folgenden Code:
Application.DisplayAlerts = False
If varSprache = "Deutsch" Then
With Workbooks(wbVorlage.Name)
.Worksheets("Blatt 1(EN)").Delete
.Worksheets("Blatt 2 (EN)").Delete
.Worksheets("Blatt 3 (EN)").Delete
End With
ElseIf varSprache = "English" Then
With Workbooks(wbVorlage.Name)
.Worksheets("Blatt 1(DE)").Delete
.Worksheets("Blatt 2 (DE)").Delete
.Worksheets("Blatt 3(DE)").Delete
End With
End If
varSprache wir vorher definiert und abgefragt. wbVorlage wird vorher mit dem relevanten Workbook versehen.
Nachdem Blatt 1 gelöscht wurde bricht das Makro ohne Debug Meldung ab. Wenn ich die Schritte einzeln ablaufe funktioniert alles.
Funktioniert die Kombination If, With, Delete nicht oder wo liegt das Problem?
Danke im Voraus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter löschen
29.01.2021 16:21:55
UweD
Hallo
Was meinst du dazu?

Sub sdsds()
Dim varSprache As String, Blatt As Worksheet, SB
varSprache = "Deutsch"
Select Case varSprache
Case "Deutsch": SB = "(EN)"
Case "Englisch": SB = "(DE)"
End Select
Application.DisplayAlerts = False
For Each Blatt In ThisWorkbook.Sheets
If Sheets.Count = 1 Then MsgBox "Einblatt muss bestehen bleiben"
If InStr(Blatt.Name, SB) > 0 Then
Blatt.Delete
End If
Next
End Sub

LG UweD
AW: Tabellenblätter löschen
30.01.2021 17:42:05
Jannik
Hallo Uwe,
das Makro an sich funktioniert gut. Leider bricht es wieder ab. Ich habe nach dem Löschen des Blattes und am Ende der Funktion einen Debug.Print (Blatt.Name) eingebaut um zu schauen was passiert. Nachdem das erste Blatt (DE) gelöscht wurde bricht die schleife ab und das gesamte Makro endet. Es kommt keine Fehlermeldung etc.
Durchlaufe ich das Makro in Einzelschritten funktioniert es super...
Anzeige
AW: Tabellenblätter löschen
30.01.2021 18:46:48
UweD
Dann lade mal eine Musterdatei hoch.
LG UweD
AW: Tabellenblätter löschen
02.02.2021 08:42:29
Jannik
Hallo Uwe,
ich habe das Makro in ein Muster exportiert und alle sensiblen Informationen entfernt um es hier hochzuladen.
Komischerweise funktioniert es dann ...
Die originale Datei kann ich auf Grund der Inhalte leider nicht hochladen.
Ich habe als Übergangslösung anstatt "Blatt.Delete" "Blatt.Visible = xlSheetVeryHidden".
Wenn ich die Blätter nur Ausblende anstatt zu löschen bricht das Makro nicht nach dem ersten Blatt ab sondern kann durch laufen.
Das erfüllt auch erstmal seinen Zweck.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige