Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sheets löschen, wenn vorhanden, ohne Bestätigung

Sheets löschen, wenn vorhanden, ohne Bestätigung
04.08.2005 11:50:57
S.Engelken
hallo zusammen
hab mal wieder nen kleines problem,
bräuchte ein makro das sheets aus dem workbook löscht (den teil hab ich schon)
allerdings vorher checkt ob sie überhaupt existieren, sonst gibts ja ne
fehlermeldung.
und wenn sie existieren und gelöscht werden dann ohne noch eine bestätigung
zu verlangen
wäre supper wenn mir jemand helfen könnte
gruß
sebastian

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigung
04.08.2005 11:52:04
Dr.
Quick and dirty:
Application.DisplayAlerts = False
'löschen der Blätter
Application.DisplayAlerts = True
AW: Sheets löschen, wenn vorhanden, ohne Bestätigung
04.08.2005 12:00:55
S.Engelken
hallo,
danke erstmal für den tip.
also die bestätigungen werden nich mehr abgefragt
allerdings beim löschen der sheets gibt es immer noch einen "laufzeitfehler"
falls die sheets nicht vorghanden sind
gruß
sebastian

Sub löschen()
Application.DisplayAlerts = False
Sheets("Start").Select
Range("G6:M10").Select
Selection.ClearContents
Range("G17:M21").Select
Selection.ClearContents
Range("G28:M32").Select
Selection.ClearContents
Range("G40:M44").Select
Selection.ClearContents
Range("G53:M57").Select
Selection.ClearContents
Sheets("RatingKonservativ").Select
ActiveWindow.SelectedSheets.Delete
Sheets("RankingModeratDynamisch").Select
ActiveWindow.SelectedSheets.Delete
Sheets("RankingAusgewogen").Select
ActiveWindow.SelectedSheets.Delete
Sheets("RankingGesamt").Select
ActiveWindow.SelectedSheets.Delete
Sheets("RankingDynamisch").Select
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End Sub

Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 12:23:11
Erich
Hallo Sebastian,
etwa so

Dim bb1 as Worksheet
For Each bb1 In Worksheets
If bb1.Name = "xyz" Then
Application.DisplayAlerts = False
Sheets("xyz").Delete
Application.DisplayAlerts = True
End If
Next bb1

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 11:55:57
Reinhard
Hi Sebastian,
ungetestet:

application.displayalerts=false
blaetter=array("Tab1", "Tab2", "Tab6")
for each blatt in worksheets
for n= 0 to ubound(blaetter)
if blaetter(n)=blatt.name then worksheets(blatt.name).delete
next n
next blatt
application.displayalerts=true

Gruß
Reinhard
Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 12:19:49
S.Engelken
hi reinhard
funktioniert leider nich richtig......könnte daran liegen
das ich die formel nich richtig angepasst habe
was muss ich denn bei deiner formel, ausser der zeile
blaetter=array("Tab1", "Tab2", "Tab6")
noch alles anpassen?
danke für die hilfe
gruß
sebastian
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 12:36:31
Erich
Hallo Sebastian und Reinhard,
Reinhards Lösung finde ich geschickt, habe sie ein wenig geändert:
Option Explicit
Sub Blaetter_loeschen()
Dim blaetter, blatt As Worksheet, n As Integer
Application.DisplayAlerts = False
blaetter = Array("Tabelle1", "Tabelle3")  ' hier anpassen
For Each blatt In Worksheets
For n = UBound(blaetter) To 0 Step -1
If blaetter(n) = blatt.Name Then blatt.Delete
Next n
Next blatt
Application.DisplayAlerts = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 14:48:12
S.Engelken
hi
danke erstmal für die mühe
hab deinen code jetzt angepasst:
Option Explicit

Sub Blaetter_loeschen()
Dim blaetter, blatt As Worksheet, n As Integer
Application.DisplayAlerts = False
blaetter = Array("RankingKonservativ", "RankingAusgewogen", "RankingModeratDynamisch", "RankingDynamisch", "RankingGesamt")
For Each blatt In Worksheets
For n = UBound(blaetter) To 0 Step -1
If blaetter(n) = blatt.Name Then blatt.Delete
Next n
Next blatt
Application.DisplayAlerts = True
End Sub

allerdings passiert absolut gar nichts wenn ich das makro starte.
hab ich die anpassung vielleicht falsch gemacht?
wäre super wenn du nochmal drüber schauen könntest
danke
gruß
sebastian
Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 17:54:01
Erich
Hallo Sebastian,
sorry, da war noch ein Fehler drin. Neue Version:
Sub Blaetter_loeschen()
Dim blaetter, blatt As Worksheet, n As Integer
Application.DisplayAlerts = False
blaetter = Array("RankingKonservativ", "RankingAusgewogen", _
"RankingModeratDynamisch", "RankingDynamisch", "RankingGesamt")
For n = UBound(blaetter) To 0 Step -1
For Each blatt In Worksheets
If blaetter(n) = blatt.Name Then blatt.Delete: Exit For
Next blatt
Next n
Application.DisplayAlerts = True
End Sub

Könnstest du uns schreiben, ob die bei dir funzt? Danke!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 14:50:59
Niels
So gehts auch:
Die Tabellennamen mußt du entsprechend anpassen.
For i = 1 To Sheets.Count
If Sheets(i).Name = "Tabelle1" Then Sheets(i).Delete: Exit For
Next
For i = 1 To Sheets.Count
If Sheets(i).Name = "Tabelle2" Then Sheets(i).Delete: Exit For
Next
For i = 1 To Sheets.Count
If Sheets(i).Name = "Tabelle3" Then Sheets(i).Delete: Exit For
Next
For I = .......so oft du brauchst.
Gruß Niels
AW: Sheets löschen, wenn vorhanden, ohne Bestätigu
04.08.2005 15:08:10
S.Engelken
hi
hab jetzt Niels Lösung genommen. Funktioniert perfekt!
danke nochmal an alle!!
gruß
sebastian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige