ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Tab sheet name (https://www.excelbanter.com/excel-discussion-misc-queries/205695-tab-sheet-name.html)

Han

Tab sheet name
 
I have this code,
Private Sub Worksheet_Calculate()
Me.Name = Range("b36").Value
End Sub
that name the sheet tab based on cell B36. The problem is when I copy the
sheet and I enter the same name in the duplicate sheet and the previous sheet
I get an error. Is there a way to add a nuber at the end of the duplicate
sheet.
example:
1st sheet name = Round
2nd sheet name = square
3rd sheet name = round(2)
all sheet have the same calculations.

Sheeloo[_2_]

Tab sheet name
 
Try
'-----------------
Private Sub Worksheet_Calculate()
Dim strName
Dim j
j = 0
strName = Range("b36").Value
For Each ws In Worksheets
If (strName = ws.Name) Then
j = 2
End If
Next ws
If j 0 Then
strName = strName & "(" & j & ")"
End If
Me.Name = strName
End Sub
'-----------------

This will name the sheet as round(2) if round already exists
but will fail if round(2) exists.
You need to expand it to test for this condition, take the highest number
and add one to it...
"Han" wrote:

I have this code,
Private Sub Worksheet_Calculate()
Me.Name = Range("b36").Value
End Sub
that name the sheet tab based on cell B36. The problem is when I copy the
sheet and I enter the same name in the duplicate sheet and the previous sheet
I get an error. Is there a way to add a nuber at the end of the duplicate
sheet.
example:
1st sheet name = Round
2nd sheet name = square
3rd sheet name = round(2)
all sheet have the same calculations.


Han

Tab sheet name
 
Code kinda works. Sometimes I copy the 1st sheet several times and give it
the same name because the same calcs are performed but for different
scenerios. I don't know if i'm being clear enough.
Here's another example that might clear things up.
1st sheet calcs volumn of a cylinder (sheet name = cylinder)
2nd sheet calcs volumn of cylinder of different height and radius (sheet
name = cylinder (2)
3rd sheet calcs volumn of cylinder of yet different height and radius (sheet
name = cylinder (3)

"Sheeloo" wrote:

Try
'-----------------
Private Sub Worksheet_Calculate()
Dim strName
Dim j
j = 0
strName = Range("b36").Value
For Each ws In Worksheets
If (strName = ws.Name) Then
j = 2
End If
Next ws
If j 0 Then
strName = strName & "(" & j & ")"
End If
Me.Name = strName
End Sub
'-----------------

This will name the sheet as round(2) if round already exists
but will fail if round(2) exists.
You need to expand it to test for this condition, take the highest number
and add one to it...
"Han" wrote:

I have this code,
Private Sub Worksheet_Calculate()
Me.Name = Range("b36").Value
End Sub
that name the sheet tab based on cell B36. The problem is when I copy the
sheet and I enter the same name in the duplicate sheet and the previous sheet
I get an error. Is there a way to add a nuber at the end of the duplicate
sheet.
example:
1st sheet name = Round
2nd sheet name = square
3rd sheet name = round(2)
all sheet have the same calculations.


Sheeloo[_2_]

Tab sheet name
 
Your requirement was clear... that is why I said "You need to expand it to
test for this condition, take the highest number
and add one to it... "

"Han" wrote:

Code kinda works. Sometimes I copy the 1st sheet several times and give it
the same name because the same calcs are performed but for different
scenerios. I don't know if i'm being clear enough.
Here's another example that might clear things up.
1st sheet calcs volumn of a cylinder (sheet name = cylinder)
2nd sheet calcs volumn of cylinder of different height and radius (sheet
name = cylinder (2)
3rd sheet calcs volumn of cylinder of yet different height and radius (sheet
name = cylinder (3)

"Sheeloo" wrote:

Try
'-----------------
Private Sub Worksheet_Calculate()
Dim strName
Dim j
j = 0
strName = Range("b36").Value
For Each ws In Worksheets
If (strName = ws.Name) Then
j = 2
End If
Next ws
If j 0 Then
strName = strName & "(" & j & ")"
End If
Me.Name = strName
End Sub
'-----------------

This will name the sheet as round(2) if round already exists
but will fail if round(2) exists.
You need to expand it to test for this condition, take the highest number
and add one to it...
"Han" wrote:

I have this code,
Private Sub Worksheet_Calculate()
Me.Name = Range("b36").Value
End Sub
that name the sheet tab based on cell B36. The problem is when I copy the
sheet and I enter the same name in the duplicate sheet and the previous sheet
I get an error. Is there a way to add a nuber at the end of the duplicate
sheet.
example:
1st sheet name = Round
2nd sheet name = square
3rd sheet name = round(2)
all sheet have the same calculations.



All times are GMT +1. The time now is 02:53 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com