Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 318
Default using vba name worksheet same as a cell

Hello
Below is the code I've been using,
now I want to change to code so that instead of a date is the word on cell G1
How do I correct this thanks

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
newname = Application.WorksheetFunction.Text(Range("G1"), "mm-dd-yy")
ActiveSheet.Name = newname
End With
End Sub

  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default using vba name worksheet same as a cell

I'm not sure why you'd have to change the name of the worksheet each time you
changed selection--maybe using the _change event or _calculate event would be
better (depending on how G1 changed).

If it's changed by typing:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count 1 Then
Exit Sub 'one cell at a time
End If

If Intersect(Target, Me.Range("G1")) Is Nothing Then
Exit Sub
End If

On Error Resume Next
Me.Name = Format(Target.Value, "mm-dd-yy")
'or maybe this if the cell is already displaying
'the name you want to use
'me.name = Target.text
If Err.Number < 0 Then
Beep 'rename failed
Err.Clear
End If
On Error GoTo 0

End Sub

VBA has the equivalent of the worksheet function =text().

I used the Me keyword. That represents the object that owns the code. In this
case, it's the worksheet that's getting the change. (Depending on your code (in
other procedures??), the activesheet isn't always the sheet that owns the code.)

Wanna Learn wrote:

Hello
Below is the code I've been using,
now I want to change to code so that instead of a date is the word on cell G1
How do I correct this thanks

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
newname = Application.WorksheetFunction.Text(Range("G1"), "mm-dd-yy")
ActiveSheet.Name = newname
End With
End Sub


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,203
Default using vba name worksheet same as a cell

Personally, I'd deal with it using the Worksheet_Change() event rather than
the SelectionChange() event. Every time that you select a new cell or group
of cells, your current routine is being called. It really only needs to be
called when the contents of G1 changes. This code will do that for you:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" Then
ActiveSheet.Name = Range("G1").Value
End If
End Sub

Just delete your existing code entirely and put the code above in the same
worksheet code module where the old code was.

"Wanna Learn" wrote:

Hello
Below is the code I've been using,
now I want to change to code so that instead of a date is the word on cell G1
How do I correct this thanks

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
newname = Application.WorksheetFunction.Text(Range("G1"), "mm-dd-yy")
ActiveSheet.Name = newname
End With
End Sub

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
Macro to name worksheet tabs using a cell within the worksheet? Jennifer Excel Discussion (Misc queries) 4 November 6th 12 05:03 PM
Linking Tab/worksheet names to a worksheet cell LinLin Excel Discussion (Misc queries) 3 March 9th 09 03:31 PM
populate cell on worksheet 2 if text is red on worksheet 1 SCrowley Excel Worksheet Functions 14 May 15th 07 09:28 PM
copy data in a cell from worksheet A to worksheet B rajesh Excel Discussion (Misc queries) 1 February 21st 06 07:40 AM
How can I link cell colours from worksheet to worksheet/workbook? Evelyn Excel Worksheet Functions 1 July 5th 05 09:16 PM


All times are GMT +1. The time now is 08:44 AM.

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

About Us

"It's about Microsoft Excel"