View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Knut Dahl Knut Dahl is offline
external usenet poster
 
Posts: 11
Default Deleting Worksheets in VBA

Ah yeah of course.

Thanks so much. Really appreciate it.

KJ

"Vasant Nanavati" <vasantn *AT* aol *DOT* com wrote in message
...
You need to count backwards so that the worksheet index doesn't change
after
each deletion:

For q = p To 2 Step -1

--

Vasant


"Knut Dahl" wrote in message
...
Good afternoon everyone.
I have yet another problem that is doing my head in.
I am trying to programmatically delete all worksheets in a workbook
except
the first one.
I have tried the following:

Dim p As Integer
Dim q As Integer
p = Worksheets.Count
If p = 2 Then
For q = 2 To p
Worksheets(q).Delete
Next q
End If

This however gives me a 'Subscript out of range' if there are more than 2
sheets in the workbook The Debugger tells me that there is something
wrong
with:

Worksheets(q).Delete

Hope this is enough information.
Thanks in advance for any help.

KJ