Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blätter im vba löschen

Blätter im vba löschen
29.11.2007 15:51:59
Grischa
Hallo Zusammen,
ich habe ein Makro erstellt welches mir eine Auswertung erstellt.
Im laufe des Makros werden in der neuen Datei Tabellenblätter erstellt.
bisher habe ich sie damit löschen können.
Sheets(Array("Tabelle1", "Tabelle1", "Tabelle2", "Tabelle3", "Tabelle5", "Tabelle8")).Delete
Das Problem ist aber das jenachdem welche optionen ich auswähle welche übertragen werden sollen, sind es mal mehr mal weniger solche blätter.
Gibt es die möglichkeit die Zeile so umzuändern das ALLE Blätter gelöscht werden die mit Tabelle anfangen? Die die ich brauche habe andere namen.
Hoffe ihr könnt mir dabei helfen.
Gruß Grischa

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter im vba löschen
29.11.2007 15:59:00
Erich
Hallo Grischa,
probier mal

Sub BlattLoesch()
Dim wks As Worksheet
For Each wks In Worksheets
If wks.Name Like "Tabelle*" Then wks.Delete
Next wks
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Blätter im vba löschen
29.11.2007 16:14:00
Grischa
Hallo Erich,
war wohl falsch beschrieben von mir.
Hier ist der Makro Anfang.
If TextBox1.Value = "" Then
If MsgBox("Spieltag Eintragen", vbOKOnly) = vbOK Then Exit Sub
End If
Dim wbName As String
Dim x As Byte
Dim y As Byte
For Each Sh In Sheets
Sh.Visible = True
Next Sh
Application.ScreenUpdating = False
wbName = "Spieltagsauswertung - " & ThisWorkbook.Worksheets("MS Statistik").Range("K1").Value & ".xls"
Application.DisplayAlerts = False
Workbooks.Add.SaveAs wbName
Application.DisplayAlerts = True
Die Blätter sollen also in der Datei gelöscht werden die mit wbname erstellt wird.
Und hier der teil in dem die Blätter gelöscht werden.
Workbooks(wbName).Activate
ActiveWindow.DisplayZeros = False
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle5", "Tabelle8")).Delete
Application.ScreenUpdating = True
Ich hab versucht deins einzubauen krieg ich aber leider nicht hin.
Bist du so nett und schaust mal drüber?
Gruß Grischa

Anzeige
AW: Blätter im vba löschen
29.11.2007 16:21:00
Erich
Hallo Grischa,
was geht da nicht?
Ersetzte die Zeile
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle5", "Tabelle8")).Delete
durch die Zeilen

Application.DisplayAlerts = False
For Each Sh In Worksheets
If Sh.Name Like "Tabelle*" Then Sh.Delete
Next Sh
Application.DisplayAlerts = True

Dann sollte es funzen.
Am Anfang der Prozedur sollte Sh mit
Dim Sh As Worksheet
deklariert sein.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Blätter im vba löschen
29.11.2007 16:23:39
Renee
Hi Grischa,
In deinem Code werden aber keine Tabelleblätter erstellt sondern Arbeitsmappen !
Das ist wohl ein kleiner aber feiner Unterschied :-(((
GreetZ Renee

Anzeige
AW: Blätter im vba löschen
29.11.2007 20:36:31
Erich
Hallo Grischa,
steht der Code im Klassenmodul einer Tabelle oder einer UserForm, also nicht in einem Standardmodul?
Dann wäre das besser:

Application.DisplayAlerts = False
For Each Sh In ActiveWorkbook.Worksheets
If Sh.Name Like "Tabelle*" Then Sh.Delete
Next Sh
Application.DisplayAlerts = True

(In meinem Code fehlte "ActiveWorkbook.")
Funzt es dann?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

@Renee
29.11.2007 20:38:21
Erich
Hallo Renee,
ich verstehe das so, dass eine neue Mappe erstellt wird
und in dieser Mappe später einige Blätter gelöscht werden sollen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Ja und ...
29.11.2007 21:57:00
Renee
Hi Erich,
Schon möglich, das du mit deiner Interpretation richtig liegst. Ich wollte darauf hinweisen, denn die Angaben des Anfragers sind widersprüchlich. Im zweiten Post redet von Blättern mit wbname, das ist aber der Workbook-Name und hat nix mit den Blättern zu tun.
Zu deinem Code: Der sieht so aus wie mein erster Vorschlag. Allerdings würde ich beim Löschen auch immer die Events ausschalten, da ja nicht sicher ist ob irgendwo ein Worksheet_Activate aktiv sein könnte.
GreetZ Renee

AW: Blätter im vba löschen
29.11.2007 16:03:00
Renee
Hi Grischa,
So ?

Sub TabellenWeg()
Dim ws As Worksheet
Application.EnableEvents = False
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
If Left(ws.Name, 7) = "Tabelle" Then ws.Delete
Next
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub


GreetZ Renee

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige