View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Doug Glancy Doug Glancy is offline
external usenet poster
 
Posts: 770
Default Error trap the renaming of a sheet to an existing one

Newbie,

I would use the fact that the sheet just added becomes the activesheet, so
you can say "Activesheet.Delete." This is what I came up with:

On Error Resume Next
Sheets.Add.Name = sname
If Err = 1004 Then
Application.DisplayAlerts = False 'So it won't prompt to confirm
deletion
ActiveSheet.Delete
Application.DisplayAlerts = True
MsgBox "That sheet name is already being used"
End If
On Error GoTo 0

hth,

Doug

"Newbie" wrote in message
...
Hi,
I am using the following code to insert and rename a new worksheet with a
user input variable

Sheets.Add.Name = sname

This works fine until the user trys to insert a sheet of the same name as

an
existing one.

I can trap error 1004 but how can I delete the sheet that has just been
inserted? I notice that when I insert a worksheet it always increments the
sheet no. by 1 regardless of whether the previous worksheets exist eg I

have
just inserted a worksheet into my workbook that has only 1 other remaining
worksheet, the others having been deleted, but it still gave it the

default
name of Sheet16 - Does access store the number of worksheets somewhere so
that I can delete the max one?

If not how would you suggest I go about deleting the latest inserted
worksheet?

Thanks