ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   deleting sheets (https://www.excelbanter.com/excel-programming/391784-deleting-sheets.html)

greg

deleting sheets
 
ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help



Jim Thomlinson

deleting sheets
 
Give this a whirl...

Sub xxx()
Dim wksNew As Worksheet
Dim wks As Worksheet
On Error GoTo ErrorHandler
Set wksNew = Worksheets.Add
Application.DisplayAlerts = False
For Each wks In ActiveWorkbook.Worksheets
If wks.Name < wksNew.Name Then wks.Delete
Next wks
ErrorHandler:
Application.DisplayAlerts = True
End Sub
--
HTH...

Jim Thomlinson


"greg" wrote:

ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help




Ron de Bruin

deleting sheets
 
Try this greg

Sub xxx()
Dim ws As Worksheet
Dim sh As Worksheet

Set ws = Worksheets.Add

Application.DisplayAlerts = False

For Each sh In ActiveWorkbook.Worksheets
If sh.Name < ws.Name Then
sh.Delete
End If
Next sh
Application.DisplayAlerts = True
End Sub


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"greg" wrote in message ...
ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help



steve_doc

deleting sheets
 
in responce to your 1st question

I think it is Application.DisplayAlerts = False
might well be wrong

would have to test teh rest
Might post back later if i get the chance


"greg" wrote:

ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help




greg

deleting sheets
 
THANKS EVERYONE!!!!!!!!!!!!



"greg" wrote in message
...
ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help





Jim Thomlinson

deleting sheets
 
Geez Ron if you are going to steal my code you really need to give me credit...
vbg ;-)

It is almost spooky how similar our 2 solutions are. I must be reading too
many of your posts...
--
HTH...

Jim Thomlinson


"Ron de Bruin" wrote:

Try this greg

Sub xxx()
Dim ws As Worksheet
Dim sh As Worksheet

Set ws = Worksheets.Add

Application.DisplayAlerts = False

For Each sh In ActiveWorkbook.Worksheets
If sh.Name < ws.Name Then
sh.Delete
End If
Next sh
Application.DisplayAlerts = True
End Sub


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"greg" wrote in message ...
ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help




Ron de Bruin

deleting sheets
 
LOL

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Jim Thomlinson" wrote in message
...
Geez Ron if you are going to steal my code you really need to give me credit...
vbg ;-)

It is almost spooky how similar our 2 solutions are. I must be reading too
many of your posts...
--
HTH...

Jim Thomlinson


"Ron de Bruin" wrote:

Try this greg

Sub xxx()
Dim ws As Worksheet
Dim sh As Worksheet

Set ws = Worksheets.Add

Application.DisplayAlerts = False

For Each sh In ActiveWorkbook.Worksheets
If sh.Name < ws.Name Then
sh.Delete
End If
Next sh
Application.DisplayAlerts = True
End Sub


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"greg" wrote in message ...
ok,
I am trying to delete all the sheets in a workbook.
I started with something like this:


Sub xxx()
Dim y As Excel.Worksheet
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count
Set y = Excel.ActiveWorkbook.Worksheets(1)
y.Delete
Next x
End Sub


2 problems.
When you delete the sheet, you get a prompt. Is there a way to turn that
prompt off?

I guess I need at least 1 sheet. Is there a way to add a new sheet to the
end of the list of sheets. Then go
For x = 1 To Excel.ActiveWorkbook.Worksheets.Count -1

thanks on any help






All times are GMT +1. The time now is 06:27 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com