View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Rename Sheet using Cell Reference

Instead of using Activesheet, I'd use the sheet that owns the code. Activesheet
may not cause any trouble--until a macro runs that changes A1 on that sheet--and
that sheet isn't active.

In fact, I'd add a little checking (and some completely arbitrary changes,
<bg):

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'one cell at a time
if target.cells.count 1 then exit sub

If Intersect(Target, Me.Range("A1")) Is Nothing Then
exit sub 'nots and nothings confuse me!
else
on error resume next
Me.Name = Target.Value
if err.number < 0 then
beep 'or msgbox "Was not renamed!"
err.clear
end if
on error goto 0
End If

End Sub

======
To the OP:
Remember that this event will fire when you're typing a new value--not the
result of a calculation.

And if you're typing in dates, you'll want to format the date to avoid invalid
worksheet names. Something like:

Me.Name = Format(Target.Value, "yyyymmdd")



Peo Sjoblom wrote:

Right click the sheet and select view code and paste in

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = Target.Value
End If
End Sub

--
Regards,

Peo Sjoblom

"RDana" wrote in message
...
Is is possible to automatically rename a worksheet based on the contents
of a
cell? For Example:

Cell A1 contains Bob Smith - I'd like the worksheet to automatically name
itself Bob Smith, even if the contents of A1 change.

I've done a search of the discussions here and found:

=MID(CELL("filename",a1),SEARCH("]",CELL("filename",a1))+1,1024)

The above example however works in reverse from what I'm looking for and
copies the worksheet name to the cell. What I'd like to accomplish is
copying the cell to the worksheet name if possible.


--

Dave Peterson