Discussion:
alle Worksheets außer aktives löschen
(zu alt für eine Antwort)
Johnny Hartmannsgruber
2008-04-17 11:20:01 UTC
Permalink
hi ng,

meine tabelle hat x blätter...
ich befinde mich im blatt "Angebot" und führe meinen code aus...
jetzt sollen alle anderen blätter gelöscht werden.
wie mache ich das per vba?

DAnke, Johnny
Thomas Kühn
2008-04-17 11:35:28 UTC
Permalink
Hi Johnny,
Post by Johnny Hartmannsgruber
meine tabelle hat x blätter...
ich befinde mich im blatt "Angebot" und führe meinen code aus...
jetzt sollen alle anderen blätter gelöscht werden.
wie mache ich das per vba?
ActiveSheet.Move Before:Sheet(1)
Dim i As Integer

Application.DisplayAlerts False

For i = Sheets.Count to 2 Step -1
Sheets(i).Delete
Next i

Application.DisplayAlerts True


Gruß Thomas

--
http://www.thomas-kuehn.de
Thomas Kühn
2008-04-17 11:39:45 UTC
Permalink
Hi Johnny,
Post by Johnny Hartmannsgruber
meine tabelle hat x blätter...
ich befinde mich im blatt "Angebot" und führe meinen code aus...
jetzt sollen alle anderen blätter gelöscht werden.
wie mache ich das per vba?
ActiveSheet.Move Before:=Sheet(1)
Dim i As Integer

Application.DisplayAlerts False

For i = Sheets.Count to 2 Step -1
Sheets(i).Delete
Next i

Application.DisplayAlerts True


Gruß Thomas

--
http://www.thomas-kuehn.de
Johnny Hartmannsgruber
2008-04-17 12:15:00 UTC
Permalink
hmmm...
der bleibt irgendwie bei folgender zeile mit der meldung "sub oder function
nicht definiert":

ActiveSheet.Move Before:=Sheet(1)

was bewirkt die zeile hier eigentlich? wird damit das aktive blatt zum
anfang geschoben?

DANKE
Post by Thomas Kühn
Hi Johnny,
Post by Johnny Hartmannsgruber
meine tabelle hat x blätter...
ich befinde mich im blatt "Angebot" und führe meinen code aus...
jetzt sollen alle anderen blätter gelöscht werden.
wie mache ich das per vba?
ActiveSheet.Move Before:=Sheet(1)
Dim i As Integer
Application.DisplayAlerts False
For i = Sheets.Count to 2 Step -1
Sheets(i).Delete
Next i
Application.DisplayAlerts True
Gruß Thomas
--
http://www.thomas-kuehn.de
Thomas Kühn
2008-04-17 12:26:23 UTC
Permalink
Hallo Johnny,
Post by Johnny Hartmannsgruber
der bleibt irgendwie bei folgender zeile mit der meldung "sub oder function
Du bist schon innerhalb einer Sub oder Function in vba? So klang
Post by Johnny Hartmannsgruber
ich befinde mich im blatt "Angebot" und führe meinen code aus...
Oder wo taucht der Fehler auf?
Post by Johnny Hartmannsgruber
ActiveSheet.Move Before:=Sheet(1)
was bewirkt die zeile hier eigentlich?
wird damit das aktive blatt zum
anfang geschoben?
Ja, weil du dann prüfen mußt wo das Blatt steht und mit
Post by Johnny Hartmannsgruber
Post by Thomas Kühn
For i = Sheets.Count to 2 Step -1
   Sheets(i).Delete
Next i
alle Sheets ansprichst die hinter dem nun an Stelle 1 verschobenen
Blatt stehen.


Gruß Thomas

--
http://www.thomas-kuehn.de
Thomas Kühn
2008-04-17 12:29:30 UTC
Permalink
Hallo Johnny,
Post by Johnny Hartmannsgruber
der bleibt irgendwie bei folgender zeile mit der meldung "sub oder function
Du bist schon innerhalb einer Sub oder Function in vba? So klang
Post by Johnny Hartmannsgruber
ich befinde mich im blatt "Angebot" und führe meinen code aus...
Oder wo taucht der Fehler auf?
Post by Johnny Hartmannsgruber
ActiveSheet.Move Before:=Sheet(1)
was bewirkt die zeile hier eigentlich?
wird damit das aktive blatt zum
anfang geschoben?
Ja, weil du dann nicht mehr prüfen mußt wo das Blatt steht und mit
Post by Johnny Hartmannsgruber
Post by Thomas Kühn
For i = Sheets.Count to 2 Step -1
Sheets(i).Delete
Next i
alle Sheets ansprichst die hinter dem nun an Stelle 1 verschobenen
Blatt stehen.

Gruß Thomas

--
http://www.thomas-kuehn.de
stefan onken
2008-04-17 12:35:50 UTC
Permalink
hallo,
On 17 Apr., 14:15, Johnny Hartmannsgruber
Post by Johnny Hartmannsgruber
hmmm...
der bleibt irgendwie bei folgender zeile mit der meldung "sub oder function
ActiveSheet.Move Before:=Sheet(1)
statt Sheet muss es Sheets heissen, kleiner Tippfehler...

andere Variante:

For Each wks In Worksheets
Application.DisplayAlerts = False
If wks.Name <> ActiveSheet.Name Then wks.Delete
Next

Gruß
stefan
t***@gmail.com
2008-04-17 13:17:49 UTC
Permalink
Grüezi Jonny

On 17 Apr., 13:20, Johnny Hartmannsgruber
Post by Johnny Hartmannsgruber
meine tabelle hat x blätter...
ich befinde mich im blatt "Angebot" und führe meinen code aus...
jetzt sollen alle anderen blätter gelöscht werden.
wie mache ich das per vba?
Du könntest auch folgendes versuchen:

Public Sub DelTabs()
Dim sh As Object
Application.DisplayAlerts = False
For Each sh In Sheets
If Not sh.Name = ActiveSheet.Name Then sh.Delete
Next sh
Application.DisplayAlerts = True
End Sub

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Loading...