close

Hello to all my good friends out there.

I have the following code in my worksheet.

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = quot;j3quot;

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
Me.Name = Target.Value
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

Which will alter the tab name of the worksheet with whatever is in cell J3.
If however the contents of j3 changes, the tab name doesn't change. Not when
I press f9, even though calculation is set to auto and doesn't even change
when saving and reopening the workbook. The only way it does change is when I
click on the cell itself and press enter again.
Is there a way to have the tab name change immediately after the cell change.

eg. j2 = 5/3/1999
j3 = =TEXT(J2,quot;dd mmquot;)

When j2 changes the tab name doesn't change until I click on J3 and press
enter.

Your help is and always has been very much appreciated.
Thanking you in anticipation.

Regards
--
Big Rick

Worksheet_change waits for you to type something. (Your code checks to see if
you typed something in J3--if not, it doesn't do anything.)

Since J3 is a formula, it's not changed by typing.

You could use the worksheet_calculate event, but I think I'd just start looking
at J2:

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = quot;j2quot;

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
Me.Name = format(Target.Value, quot;dd mmquot;)
'me.name = target.text
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

You could use Target.Text if you formatted that cell the way you wanted.

Big Rick wrote:
gt;
gt; Hello to all my good friends out there.
gt;
gt; I have the following code in my worksheet.
gt;
gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; Const WS_RANGE As String = quot;j3quot;
gt;
gt; On Error GoTo ws_exit:
gt; Application.EnableEvents = False
gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; With Target
gt; Me.Name = Target.Value
gt; End With
gt; End If
gt;
gt; ws_exit:
gt; Application.EnableEvents = True
gt; End Sub
gt;
gt; Which will alter the tab name of the worksheet with whatever is in cell J3.
gt; If however the contents of j3 changes, the tab name doesn't change. Not when
gt; I press f9, even though calculation is set to auto and doesn't even change
gt; when saving and reopening the workbook. The only way it does change is when I
gt; click on the cell itself and press enter again.
gt; Is there a way to have the tab name change immediately after the cell change.
gt;
gt; eg. j2 = 5/3/1999
gt; j3 = =TEXT(J2,quot;dd mmquot;)
gt;
gt; When j2 changes the tab name doesn't change until I click on J3 and press
gt; enter.
gt;
gt; Your help is and always has been very much appreciated.
gt; Thanking you in anticipation.
gt;
gt; Regards
gt; --
gt; Big Rick

--

Dave Peterson

Thanks Dave,
This does work better but I would like to take it one stage further.
What I would like is to have a formula in J2 (e.g. Info!A1 7) with Info!A1 =
1/1/06.
Now if Info!A1 were to change, could I have the tab name change automatically.
By the way, I really am clueless when it come to macros. Remember my post on
date formatting last week which started a great debate !) So please can you
answer in laymans terms.

Thanking you in anticipation.
--
Big Rickquot;Dave Petersonquot; wrote:

gt; Worksheet_change waits for you to type something. (Your code checks to see if
gt; you typed something in J3--if not, it doesn't do anything.)
gt;
gt; Since J3 is a formula, it's not changed by typing.
gt;
gt; You could use the worksheet_calculate event, but I think I'd just start looking
gt; at J2:
gt;
gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; Const WS_RANGE As String = quot;j2quot;
gt;
gt; On Error GoTo ws_exit:
gt; Application.EnableEvents = False
gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; With Target
gt; Me.Name = format(Target.Value, quot;dd mmquot;)
gt; 'me.name = target.text
gt; End With
gt; End If
gt;
gt; ws_exit:
gt; Application.EnableEvents = True
gt; End Sub
gt;
gt; You could use Target.Text if you formatted that cell the way you wanted.Hi Rick

In case you are wanting to get on with this this morning, and Dave won't
(probably) be on line yet, you need to make changes
to
Const WS_RANGE As String = quot;j2quot; change to quot;j1quot;
as J1 is now the cell where you are making the change to the date.
and
Me.Name = format(Target.Value, quot;dd mmquot;) to
Me.Name = format(Target.Value 7, quot;dd mmquot;)--
Regards

Roger Govierquot;Big Rickquot; gt; wrote in message
...
gt; Thanks Dave,
gt; This does work better but I would like to take it one stage further.
gt; What I would like is to have a formula in J2 (e.g. Info!A1 7) with
gt; Info!A1 =
gt; 1/1/06.
gt; Now if Info!A1 were to change, could I have the tab name change
gt; automatically.
gt; By the way, I really am clueless when it come to macros. Remember my
gt; post on
gt; date formatting last week which started a great debate !) So please
gt; can you
gt; answer in laymans terms.
gt;
gt; Thanking you in anticipation.
gt; --
gt; Big Rick
gt;
gt;
gt; quot;Dave Petersonquot; wrote:
gt;
gt;gt; Worksheet_change waits for you to type something. (Your code checks
gt;gt; to see if
gt;gt; you typed something in J3--if not, it doesn't do anything.)
gt;gt;
gt;gt; Since J3 is a formula, it's not changed by typing.
gt;gt;
gt;gt; You could use the worksheet_calculate event, but I think I'd just
gt;gt; start looking
gt;gt; at J2:
gt;gt;
gt;gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt;gt; Const WS_RANGE As String = quot;j2quot;
gt;gt;
gt;gt; On Error GoTo ws_exit:
gt;gt; Application.EnableEvents = False
gt;gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt;gt; With Target
gt;gt; Me.Name = format(Target.Value, quot;dd mmquot;)
gt;gt; 'me.name = target.text
gt;gt; End With
gt;gt; End If
gt;gt;
gt;gt; ws_exit:
gt;gt; Application.EnableEvents = True
gt;gt; End Sub
gt;gt;
gt;gt; You could use Target.Text if you formatted that cell the way you
gt;gt; wanted.
gt;
Thanks for replying Roger.
This is still not quite what I'm after. I will try and explain differently.
Say Info!A1 is quot;1/1/06quot; and on Sheet2, J2 is quot;=Info!A1 7quot; which should make
the tab name quot;08 01quot;
If I were to change Info!A1 to 2/2/06 then I require Sheet2 tab name to
change straightaway to quot;09 02quot;.
What I am having to do now is to actually click in Sheet2!J2 cell and press
enter to make the tab name change. Dave suggested something about a Worksheet
Calculate Event but as you know, I wouldn't know where to start.
Hoping that this explains further.
--
Big Rickquot;Roger Govierquot; wrote:

gt; Hi Rick
gt;
gt; In case you are wanting to get on with this this morning, and Dave won't
gt; (probably) be on line yet, you need to make changes
gt; to
gt; Const WS_RANGE As String = quot;j2quot; change to quot;j1quot;
gt; as J1 is now the cell where you are making the change to the date.
gt; and
gt; Me.Name = format(Target.Value, quot;dd mmquot;) to
gt; Me.Name = format(Target.Value 7, quot;dd mmquot;)
gt;
gt;
gt; --
gt; Regards
gt;
gt; Roger Govier
gt;
gt;
gt; quot;Big Rickquot; gt; wrote in message
gt; ...
gt; gt; Thanks Dave,
gt; gt; This does work better but I would like to take it one stage further.
gt; gt; What I would like is to have a formula in J2 (e.g. Info!A1 7) with
gt; gt; Info!A1 =
gt; gt; 1/1/06.
gt; gt; Now if Info!A1 were to change, could I have the tab name change
gt; gt; automatically.
gt; gt; By the way, I really am clueless when it come to macros. Remember my
gt; gt; post on
gt; gt; date formatting last week which started a great debate !) So please
gt; gt; can you
gt; gt; answer in laymans terms.
gt; gt;
gt; gt; Thanking you in anticipation.
gt; gt; --
gt; gt; Big Rick
gt; gt;
gt; gt;
gt; gt; quot;Dave Petersonquot; wrote:
gt; gt;
gt; gt;gt; Worksheet_change waits for you to type something. (Your code checks
gt; gt;gt; to see if
gt; gt;gt; you typed something in J3--if not, it doesn't do anything.)
gt; gt;gt;
gt; gt;gt; Since J3 is a formula, it's not changed by typing.
gt; gt;gt;
gt; gt;gt; You could use the worksheet_calculate event, but I think I'd just
gt; gt;gt; start looking
gt; gt;gt; at J2:
gt; gt;gt;
gt; gt;gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; gt;gt; Const WS_RANGE As String = quot;j2quot;
gt; gt;gt;
gt; gt;gt; On Error GoTo ws_exit:
gt; gt;gt; Application.EnableEvents = False
gt; gt;gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; gt;gt; With Target
gt; gt;gt; Me.Name = format(Target.Value, quot;dd mmquot;)
gt; gt;gt; 'me.name = target.text
gt; gt;gt; End With
gt; gt;gt; End If
gt; gt;gt;
gt; gt;gt; ws_exit:
gt; gt;gt; Application.EnableEvents = True
gt; gt;gt; End Sub
gt; gt;gt;
gt; gt;gt; You could use Target.Text if you formatted that cell the way you
gt; gt;gt; wanted.
gt; gt;
gt;
gt;
gt;

Put the worksheet change into the info worksheet. But you'll have to use the
codename of the worksheet:

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = quot;a1quot;

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
sheet99.Name = format(Target.Value 7, quot;dd mmquot;)
'me.name = target.text
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

If you go into the VBE, select your project, select the sheet that changes name,
then hit F4 (to see the properties, you'll see a quot;(name)quot; property. Use that
name.
Big Rick wrote:
gt;
gt; Thanks Dave,
gt; This does work better but I would like to take it one stage further.
gt; What I would like is to have a formula in J2 (e.g. Info!A1 7) with Info!A1 =
gt; 1/1/06.
gt; Now if Info!A1 were to change, could I have the tab name change automatically.
gt; By the way, I really am clueless when it come to macros. Remember my post on
gt; date formatting last week which started a great debate !) So please can you
gt; answer in laymans terms.
gt;
gt; Thanking you in anticipation.
gt; --
gt; Big Rick
gt;
gt; quot;Dave Petersonquot; wrote:
gt;
gt; gt; Worksheet_change waits for you to type something. (Your code checks to see if
gt; gt; you typed something in J3--if not, it doesn't do anything.)
gt; gt;
gt; gt; Since J3 is a formula, it's not changed by typing.
gt; gt;
gt; gt; You could use the worksheet_calculate event, but I think I'd just start looking
gt; gt; at J2:
gt; gt;
gt; gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; gt; Const WS_RANGE As String = quot;j2quot;
gt; gt;
gt; gt; On Error GoTo ws_exit:
gt; gt; Application.EnableEvents = False
gt; gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; gt; With Target
gt; gt; Me.Name = format(Target.Value, quot;dd mmquot;)
gt; gt; 'me.name = target.text
gt; gt; End With
gt; gt; End If
gt; gt;
gt; gt; ws_exit:
gt; gt; Application.EnableEvents = True
gt; gt; End Sub
gt; gt;
gt; gt; You could use Target.Text if you formatted that cell the way you wanted.

--

Dave Peterson

Hi Rick

Sorry, I hadn't appreciated it was 2 separate sheets.
The following seems to work OK for me

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = quot;A1quot;
Dim ws1 As Worksheet
Set ws1 = ActiveWorkbook.Worksheets(quot;Sheet2quot;)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With ws1
.Name = Format(Target.Value 7, quot;dd mmquot;)
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub
--
Regards

Roger Govierquot;Big Rickquot; gt; wrote in message
...
gt; Thanks for replying Roger.
gt; This is still not quite what I'm after. I will try and explain
gt; differently.
gt; Say Info!A1 is quot;1/1/06quot; and on Sheet2, J2 is quot;=Info!A1 7quot; which should
gt; make
gt; the tab name quot;08 01quot;
gt; If I were to change Info!A1 to 2/2/06 then I require Sheet2 tab name
gt; to
gt; change straightaway to quot;09 02quot;.
gt; What I am having to do now is to actually click in Sheet2!J2 cell and
gt; press
gt; enter to make the tab name change. Dave suggested something about a
gt; Worksheet
gt; Calculate Event but as you know, I wouldn't know where to start.
gt; Hoping that this explains further.
gt; --
gt; Big Rick
gt;
gt;
gt; quot;Roger Govierquot; wrote:
gt;
gt;gt; Hi Rick
gt;gt;
gt;gt; In case you are wanting to get on with this this morning, and Dave
gt;gt; won't
gt;gt; (probably) be on line yet, you need to make changes
gt;gt; to
gt;gt; Const WS_RANGE As String = quot;j2quot; change to quot;j1quot;
gt;gt; as J1 is now the cell where you are making the change to the date.
gt;gt; and
gt;gt; Me.Name = format(Target.Value, quot;dd mmquot;) to
gt;gt; Me.Name = format(Target.Value 7, quot;dd mmquot;)
gt;gt;
gt;gt;
gt;gt; --
gt;gt; Regards
gt;gt;
gt;gt; Roger Govier
gt;gt;
gt;gt;
gt;gt; quot;Big Rickquot; gt; wrote in message
gt;gt; ...
gt;gt; gt; Thanks Dave,
gt;gt; gt; This does work better but I would like to take it one stage
gt;gt; gt; further.
gt;gt; gt; What I would like is to have a formula in J2 (e.g. Info!A1 7) with
gt;gt; gt; Info!A1 =
gt;gt; gt; 1/1/06.
gt;gt; gt; Now if Info!A1 were to change, could I have the tab name change
gt;gt; gt; automatically.
gt;gt; gt; By the way, I really am clueless when it come to macros. Remember
gt;gt; gt; my
gt;gt; gt; post on
gt;gt; gt; date formatting last week which started a great debate !) So please
gt;gt; gt; can you
gt;gt; gt; answer in laymans terms.
gt;gt; gt;
gt;gt; gt; Thanking you in anticipation.
gt;gt; gt; --
gt;gt; gt; Big Rick
gt;gt; gt;
gt;gt; gt;
gt;gt; gt; quot;Dave Petersonquot; wrote:
gt;gt; gt;
gt;gt; gt;gt; Worksheet_change waits for you to type something. (Your code
gt;gt; gt;gt; checks
gt;gt; gt;gt; to see if
gt;gt; gt;gt; you typed something in J3--if not, it doesn't do anything.)
gt;gt; gt;gt;
gt;gt; gt;gt; Since J3 is a formula, it's not changed by typing.
gt;gt; gt;gt;
gt;gt; gt;gt; You could use the worksheet_calculate event, but I think I'd just
gt;gt; gt;gt; start looking
gt;gt; gt;gt; at J2:
gt;gt; gt;gt;
gt;gt; gt;gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt;gt; gt;gt; Const WS_RANGE As String = quot;j2quot;
gt;gt; gt;gt;
gt;gt; gt;gt; On Error GoTo ws_exit:
gt;gt; gt;gt; Application.EnableEvents = False
gt;gt; gt;gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt;gt; gt;gt; With Target
gt;gt; gt;gt; Me.Name = format(Target.Value, quot;dd mmquot;)
gt;gt; gt;gt; 'me.name = target.text
gt;gt; gt;gt; End With
gt;gt; gt;gt; End If
gt;gt; gt;gt;
gt;gt; gt;gt; ws_exit:
gt;gt; gt;gt; Application.EnableEvents = True
gt;gt; gt;gt; End Sub
gt;gt; gt;gt;
gt;gt; gt;gt; You could use Target.Text if you formatted that cell the way you
gt;gt; gt;gt; wanted.
gt;gt; gt;
gt;gt;
gt;gt;
gt;gt;
Thank you, thank you, thank you, so much.
Absolutely wonderful. Works like a dream. Please can I ask just one more
question though.
If I wanted this on 52 worksheets in one workbook 7, 14, 21 etc
would I require 52 lines of
sheet1.Name = format(target.Value 7,quot;dd mmquot;)
sheet2.Name = format(target.Value 14,quot;dd mmquot;) etc
or is there an easier way.
Thank you again for all your time and effort. I really do appreciate it.
--
Big Rickquot;Dave Petersonquot; wrote:

gt; Put the worksheet change into the info worksheet. But you'll have to use the
gt; codename of the worksheet:
gt;
gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; Const WS_RANGE As String = quot;a1quot;
gt;
gt; On Error GoTo ws_exit:
gt; Application.EnableEvents = False
gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; With Target
gt; sheet99.Name = format(Target.Value 7, quot;dd mmquot;)
gt; 'me.name = target.text
gt; End With
gt; End If
gt;
gt; ws_exit:
gt; Application.EnableEvents = True
gt; End Sub
gt;
gt; If you go into the VBE, select your project, select the sheet that changes name,
gt; then hit F4 (to see the properties, you'll see a quot;(name)quot; property. Use that
gt; name.
gt;

You could do it that way. But another way is to go through the codenames and
set them that way:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = quot;a1quot;

Dim iCtr As Long
Dim wks As Worksheet

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
For Each wks In Me.Parent.Worksheets
For iCtr = 1 To 52
If LCase(wks.CodeName) = quot;sheetquot; amp; iCtr Then
wks.Name = Format(Target.Value (7 * iCtr), quot;dd mmquot;)
Exit For
End If
Next iCtr
Next wks
End If

ws_exit:
Application.EnableEvents = True
End Sub

==============
But this doesn't sound like something that you'd do very often--once a year when
you're setting things up.

I think I'd remove it from the worksheet_change event and just make a macro that
runs on demand. It would stop user errors (overwriting A1 on Info could cause
trouble).

If you think that's a good idea and you have trouble converting it, just post
back. I'm sure you'll get help.

Big Rick wrote:
gt;
gt; Thank you, thank you, thank you, so much.
gt; Absolutely wonderful. Works like a dream. Please can I ask just one more
gt; question though.
gt; If I wanted this on 52 worksheets in one workbook 7, 14, 21 etc
gt; would I require 52 lines of
gt; sheet1.Name = format(target.Value 7,quot;dd mmquot;)
gt; sheet2.Name = format(target.Value 14,quot;dd mmquot;) etc
gt; or is there an easier way.
gt; Thank you again for all your time and effort. I really do appreciate it.
gt; --
gt; Big Rick
gt;
gt; quot;Dave Petersonquot; wrote:
gt;
gt; gt; Put the worksheet change into the info worksheet. But you'll have to use the
gt; gt; codename of the worksheet:
gt; gt;
gt; gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; gt; Const WS_RANGE As String = quot;a1quot;
gt; gt;
gt; gt; On Error GoTo ws_exit:
gt; gt; Application.EnableEvents = False
gt; gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; gt; With Target
gt; gt; sheet99.Name = format(Target.Value 7, quot;dd mmquot;)
gt; gt; 'me.name = target.text
gt; gt; End With
gt; gt; End If
gt; gt;
gt; gt; ws_exit:
gt; gt; Application.EnableEvents = True
gt; gt; End Sub
gt; gt;
gt; gt; If you go into the VBE, select your project, select the sheet that changes name,
gt; gt; then hit F4 (to see the properties, you'll see a quot;(name)quot; property. Use that
gt; gt; name.
gt; gt;

--

Dave Peterson

Thank you very much again.
I suppose you really are quite clever when I think about it.
--
Big Rickquot;Dave Petersonquot; wrote:

gt; You could do it that way. But another way is to go through the codenames and
gt; set them that way:
gt;
gt; Option Explicit
gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; Const WS_RANGE As String = quot;a1quot;
gt;
gt; Dim iCtr As Long
gt; Dim wks As Worksheet
gt;
gt; On Error GoTo ws_exit:
gt; Application.EnableEvents = False
gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; For Each wks In Me.Parent.Worksheets
gt; For iCtr = 1 To 52
gt; If LCase(wks.CodeName) = quot;sheetquot; amp; iCtr Then
gt; wks.Name = Format(Target.Value (7 * iCtr), quot;dd mmquot;)
gt; Exit For
gt; End If
gt; Next iCtr
gt; Next wks
gt; End If
gt;
gt; ws_exit:
gt; Application.EnableEvents = True
gt; End Sub
gt;
gt; ==============
gt; But this doesn't sound like something that you'd do very often--once a year when
gt; you're setting things up.
gt;
gt; I think I'd remove it from the worksheet_change event and just make a macro that
gt; runs on demand. It would stop user errors (overwriting A1 on Info could cause
gt; trouble).
gt;
gt; If you think that's a good idea and you have trouble converting it, just post
gt; back. I'm sure you'll get help.
gt;
gt;
gt;
gt;
gt; Big Rick wrote:
gt; gt;
gt; gt; Thank you, thank you, thank you, so much.
gt; gt; Absolutely wonderful. Works like a dream. Please can I ask just one more
gt; gt; question though.
gt; gt; If I wanted this on 52 worksheets in one workbook 7, 14, 21 etc
gt; gt; would I require 52 lines of
gt; gt; sheet1.Name = format(target.Value 7,quot;dd mmquot;)
gt; gt; sheet2.Name = format(target.Value 14,quot;dd mmquot;) etc
gt; gt; or is there an easier way.
gt; gt; Thank you again for all your time and effort. I really do appreciate it.
gt; gt; --
gt; gt; Big Rick
gt; gt;
gt; gt; quot;Dave Petersonquot; wrote:
gt; gt;
gt; gt; gt; Put the worksheet change into the info worksheet. But you'll have to use the
gt; gt; gt; codename of the worksheet:
gt; gt; gt;
gt; gt; gt; Private Sub Worksheet_Change(ByVal Target As Range)
gt; gt; gt; Const WS_RANGE As String = quot;a1quot;
gt; gt; gt;
gt; gt; gt; On Error GoTo ws_exit:
gt; gt; gt; Application.EnableEvents = False
gt; gt; gt; If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
gt; gt; gt; With Target
gt; gt; gt; sheet99.Name = format(Target.Value 7, quot;dd mmquot;)
gt; gt; gt; 'me.name = target.text
gt; gt; gt; End With
gt; gt; gt; End If
gt; gt; gt;
gt; gt; gt; ws_exit:
gt; gt; gt; Application.EnableEvents = True
gt; gt; gt; End Sub
gt; gt; gt;
gt; gt; gt; If you go into the VBE, select your project, select the sheet that changes name,
gt; gt; gt; then hit F4 (to see the properties, you'll see a quot;(name)quot; property. Use that
gt; gt; gt; name.
gt; gt; gt;
gt;
gt; --
gt;
gt; Dave Peterson
gt;

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 software 的頭像
    software

    software

    software 發表在 痞客邦 留言(0) 人氣()