Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
MWS MWS is offline
external usenet poster
 
Posts: 53
Default Error Handling for Duplicate Worksheet Names

I have the following code that allows the user the option of creating a copy
of the active worksheet and then names the copied worksheet:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
With ThisWorkbook ' or ActiveWorkbook
Set sh = .Worksheets.Add(After:= _
.Worksheets(.Worksheets.Count))
.Worksheets("Populate Scorecard....").Cells.Copy _
Destination:=sh.Cells
End With

sh.Name = Range("b2").Value

Issue: I would like to create some sort of error handling that if the user
is trying to copy a worksheet that was previously copied/named, abort the
copying process and return the user to another worksheet via GoTo.

Can anyone help?

Any and All Assistance Will Be Appreciated - Thanks In Advance

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,624
Default Error Handling for Duplicate Worksheet Names

one way:

This routine doesn't do anything if there's already a sheet with the
name that's in 'Populate Scorecard...'!B2, and doesn't "go" anywhere in
that case, unless you populate the commented line:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
Dim shCopy As Worksheet
With ThisWorkbook.Worksheets
Set shCopy = .Item("Populate Scorecard....")
On Error Resume Next
Set sh = .Item(shCopy.Range("B2").Text)
On Error GoTo 0
If sh Is Nothing Then
Set sh = .Add(After:=.Item(.Count))
shCopy.Cells.Copy Destination:=sh.Cells
sh.Name = sh.Range("B2").Text
Else
'Application.GoTo ...
End If
End With
End Sub






In article ,
MWS wrote:

I have the following code that allows the user the option of creating a copy
of the active worksheet and then names the copied worksheet:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
With ThisWorkbook ' or ActiveWorkbook
Set sh = .Worksheets.Add(After:= _
.Worksheets(.Worksheets.Count))
.Worksheets("Populate Scorecard....").Cells.Copy _
Destination:=sh.Cells
End With

sh.Name = Range("b2").Value

Issue: I would like to create some sort of error handling that if the user
is trying to copy a worksheet that was previously copied/named, abort the
copying process and return the user to another worksheet via GoTo.

Can anyone help?

Any and All Assistance Will Be Appreciated - Thanks In Advance

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Error Handling for Duplicate Worksheet Names

"Another sheet" is not well defined. Nonetheless:

Private Sub cmdCopy_Click()
Dim sh As Worksheet, Dim sh1 as Worksheet
With ThisWorkbook ' or ActiveWorkbook
On Error Resume Next
set sh1 = Worksheets(Range("B2").Value)
On Error goto 0
if sh1 is nothing then
Set sh = .Worksheets.Add(After:= _
.Worksheets(.Worksheets.Count))
.Worksheets("Populate Scorecard....").Cells.Copy _
Destination:=sh.Cells
sh.Name = Range("b2").Value

else
Application.GoTo .Worksheets(1).Range("A1")
' or
' Application.Goto sh1.Range("A1")
End if
End With

--
Regards,
Tom Ogilvy




"MWS" wrote in message
...
I have the following code that allows the user the option of creating a

copy
of the active worksheet and then names the copied worksheet:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
With ThisWorkbook ' or ActiveWorkbook
Set sh = .Worksheets.Add(After:= _
.Worksheets(.Worksheets.Count))
.Worksheets("Populate Scorecard....").Cells.Copy _
Destination:=sh.Cells
End With

sh.Name = Range("b2").Value

Issue: I would like to create some sort of error handling that if the user
is trying to copy a worksheet that was previously copied/named, abort the
copying process and return the user to another worksheet via GoTo.

Can anyone help?

Any and All Assistance Will Be Appreciated - Thanks In Advance



  #4   Report Post  
Posted to microsoft.public.excel.programming
MWS MWS is offline
external usenet poster
 
Posts: 53
Default Error Handling for Duplicate Worksheet Names

Thank You JE McGimpsey - It Works Perfectly

"JE McGimpsey" wrote:

one way:

This routine doesn't do anything if there's already a sheet with the
name that's in 'Populate Scorecard...'!B2, and doesn't "go" anywhere in
that case, unless you populate the commented line:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
Dim shCopy As Worksheet
With ThisWorkbook.Worksheets
Set shCopy = .Item("Populate Scorecard....")
On Error Resume Next
Set sh = .Item(shCopy.Range("B2").Text)
On Error GoTo 0
If sh Is Nothing Then
Set sh = .Add(After:=.Item(.Count))
shCopy.Cells.Copy Destination:=sh.Cells
sh.Name = sh.Range("B2").Text
Else
'Application.GoTo ...
End If
End With
End Sub






In article ,
MWS wrote:

I have the following code that allows the user the option of creating a copy
of the active worksheet and then names the copied worksheet:

Private Sub cmdCopy_Click()
Dim sh As Worksheet
With ThisWorkbook ' or ActiveWorkbook
Set sh = .Worksheets.Add(After:= _
.Worksheets(.Worksheets.Count))
.Worksheets("Populate Scorecard....").Cells.Copy _
Destination:=sh.Cells
End With

sh.Name = Range("b2").Value

Issue: I would like to create some sort of error handling that if the user
is trying to copy a worksheet that was previously copied/named, abort the
copying process and return the user to another worksheet via GoTo.

Can anyone help?

Any and All Assistance Will Be Appreciated - Thanks In Advance


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Duplicate Range Names by worksheet FlaAl Excel Discussion (Misc queries) 0 May 24th 06 05:14 PM
Finding/removing duplicate names in a worksheet Dave Excel Worksheet Functions 1 April 17th 06 08:05 PM
Duplicate names on copied worksheet Pat Conover Links and Linking in Excel 0 March 20th 06 11:36 AM
Error Handling - On Error GoTo doesn't trap error successfully David Excel Programming 9 February 16th 06 05:59 PM
Error handling with a handling routine ben Excel Programming 0 March 15th 05 03:01 PM


All times are GMT +1. The time now is 06:30 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"