ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Help needed with Macro (https://www.excelbanter.com/excel-programming/338264-help-needed-macro.html)

Paul Sheppard[_7_]

Help needed with Macro
 

I have a Workbook with 13 sheets, the first is a Control sheet. On the
control sheet I have a button (Macro details below) which when clicked
should rename the other 12 sheets according to data in cells A4:A15

Sub namesheets_as_per_list_on_worksheet()
Dim arr As Variant
arr = Range("a4:a15").Value
For i = LBound(arr) To UBound(arr)
Sheets(i + 1).Activate
Sheets(i).Name = arr(i, 1)
Next i
End Sub

The conrtrol sheet is the first sheet in the workbook, and gets renamed
when I run the macro, whilst sheet 13 does not change. What changes does
the Macro require so that it renames sheets 2-13, ignoring sheet 1 the
control sheet


--
Paul Sheppard


------------------------------------------------------------------------
Paul Sheppard's Profile: http://www.excelforum.com/member.php...o&userid=24783
View this thread: http://www.excelforum.com/showthread...hreadid=398905


T-容x[_15_]

Help needed with Macro
 

you almost had it!!!
you only have to change:

Sheets(i).Name = arr(i, 1)

to

Sheets(*i + 1*).Name = arr(i, 1)

as you did with the previous line...

just a note... you don't have to activate the sheet to change its
name...
at least, that is what happens with my office (2003)....

:)

Paul Sheppard Wrote:
I have a Workbook with 13 sheets, the first is a Control sheet. On the
control sheet I have a button (Macro details below) which when clicked
should rename the other 12 sheets according to data in cells A4:A15

Sub namesheets_as_per_list_on_worksheet()
Dim arr As Variant
arr = Range("a4:a15").Value
For i = LBound(arr) To UBound(arr)
Sheets(i + 1).Activate
Sheets(i).Name = arr(i, 1)
Next i
End Sub

The conrtrol sheet is the first sheet in the workbook, and gets renamed
when I run the macro, whilst sheet 13 does not change. What changes does
the Macro require so that it renames sheets 2-13, ignoring sheet 1 the
control sheet



--
T-容x
------------------------------------------------------------------------
T-容x's Profile: http://www.excelforum.com/member.php...o&userid=26572
View this thread: http://www.excelforum.com/showthread...hreadid=398905


Rowan[_4_]

Help needed with Macro
 
Hi Paul

This is happening because by default array indexes start at 0. You can
change this to 1 by adding the statement "Option Base 1" to your module but
you may be better off trying it like this:

Sub namesheets_as_per_list_on_worksheet()
Dim i As Integer
For i = 2 To 13
Sheets(i).Name = Cells(i + 2, 1).Value
Next i
End Sub

Hope this helps
Rowan
"Paul Sheppard" wrote:


I have a Workbook with 13 sheets, the first is a Control sheet. On the
control sheet I have a button (Macro details below) which when clicked
should rename the other 12 sheets according to data in cells A4:A15

Sub namesheets_as_per_list_on_worksheet()
Dim arr As Variant
arr = Range("a4:a15").Value
For i = LBound(arr) To UBound(arr)
Sheets(i + 1).Activate
Sheets(i).Name = arr(i, 1)
Next i
End Sub

The conrtrol sheet is the first sheet in the workbook, and gets renamed
when I run the macro, whilst sheet 13 does not change. What changes does
the Macro require so that it renames sheets 2-13, ignoring sheet 1 the
control sheet


--
Paul Sheppard


------------------------------------------------------------------------
Paul Sheppard's Profile: http://www.excelforum.com/member.php...o&userid=24783
View this thread: http://www.excelforum.com/showthread...hreadid=398905



Paul Sheppard[_8_]

Help needed with Macro
 

T-容x Wrote:
you almost had it!!!
you only have to change:

Sheets(i).Name = arr(i, 1)

to

Sheets(*i + 1*).Name = arr(i, 1)

as you did with the previous line...

just a note... you don't have to activate the sheet to change its
name...
at least, that is what happens with my office (2003)....

:)


Thanks T-容x, much appreciated


--
Paul Sheppard


------------------------------------------------------------------------
Paul Sheppard's Profile: http://www.excelforum.com/member.php...o&userid=24783
View this thread: http://www.excelforum.com/showthread...hreadid=398905



All times are GMT +1. The time now is 11:50 AM.

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