Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 21
Default Duplicating worksheet based on range and changing worksheet name

Hi,

I am looking for a macro that would copy a worksheet named "Template"
multiple times. It would create a copy of the worksheet "Template" and
change the name based on cell reported on range B6:B25 (20 worksheets)
of the worksheet "Config".
First worksheet would be named based on cell B6, Second worksheet
based on cell B7...
However, there may not always be 20 worksheets to create as for
instance there may only be data on cells from the range B6:B10 (only 5
worksheets).
Finally, as a title, cell B5 of the newly copied worksheet would equal
the corresponding cell of the "Config" worksheet (on the B6:B25 range)

Thanks in adance for your help.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 621
Default Duplicating worksheet based on range and changing worksheet name

Give this a try

Sub CreateNameSheets()
' by Dave Peterson with minor mods by Gord Dibben
' List sheetnames required in col A in a sheet: config
' Sub will copy sheets based on the sheet named as: Template
' and name the sheets accordingly

Dim TemplateWks As Worksheet
Dim ListWks As Worksheet
Dim ListRng As Range
Dim myCell As Range

Set TemplateWks = Worksheets("Template")
Set ListWks = Worksheets("config")
With ListWks
Set ListRng = .Range("B6", .Cells(.Rows.Count, "B").End(xlUp))
End With

For Each myCell In ListRng.Cells
TemplateWks.Copy after:=Worksheets(Worksheets.Count)
On Error Resume Next
With ActiveSheet
.Name = myCell.Value
.Range("B5").Value = myCell.Value
End With
If Err.Number < 0 Then
MsgBox "Please fix: " & ActiveSheet.Name
Err.Clear
End If
On Error GoTo 0
Next myCell

End Sub


Gord Dibben MS Excel MVP

On Sun, 26 Jun 2011 10:59:51 -0700 (PDT), Norvascom wrote:

Hi,

I am looking for a macro that would copy a worksheet named "Template"
multiple times. It would create a copy of the worksheet "Template" and
change the name based on cell reported on range B6:B25 (20 worksheets)
of the worksheet "Config".
First worksheet would be named based on cell B6, Second worksheet
based on cell B7...
However, there may not always be 20 worksheets to create as for
instance there may only be data on cells from the range B6:B10 (only 5
worksheets).
Finally, as a title, cell B5 of the newly copied worksheet would equal
the corresponding cell of the "Config" worksheet (on the B6:B25 range)

Thanks in adance for your help.

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 21
Default Duplicating worksheet based on range and changing worksheet name

On Jun 26, 2:49*pm, Gord Dibben wrote:
Give this a try

Sub CreateNameSheets()
' by Dave Peterson *with minor mods by Gord Dibben
' List sheetnames required in col A in a sheet: config
' Sub will copy sheets based on the sheet named as: Template
' and name the sheets accordingly

* * Dim TemplateWks As Worksheet
* * Dim ListWks As Worksheet
* * Dim ListRng As Range
* * Dim myCell As Range

* * Set TemplateWks = Worksheets("Template")
* * Set ListWks = Worksheets("config")
* * With ListWks
* * * * Set ListRng = .Range("B6", .Cells(.Rows.Count, "B").End(xlUp))
* * End With

* * For Each myCell In ListRng.Cells
* * * * TemplateWks.Copy after:=Worksheets(Worksheets.Count)
* * * * On Error Resume Next
* * * * With ActiveSheet
* * * * * * .Name = myCell.Value
* * * * * * .Range("B5").Value = myCell.Value
* * * * End With
* * * * If Err.Number < 0 Then
* * * * * * MsgBox "Please fix: " & ActiveSheet.Name
* * * * * * Err.Clear
* * * * End If
* * * * On Error GoTo 0
* * Next myCell

End Sub

Gord Dibben * * MS Excel MVP



On Sun, 26 Jun 2011 10:59:51 -0700 (PDT), Norvascom wrote:
Hi,


I am looking for a macro that would copy a worksheet named "Template"
multiple times. It would create a copy of the worksheet "Template" and
change the name based on cell reported on range B6:B25 (20 worksheets)
of the worksheet "Config".
First worksheet would be named based on cell B6, Second worksheet
based on cell B7...
However, there may not always be 20 worksheets to create as for
instance there may only be data on cells from the range B6:B10 (only 5
worksheets).
Finally, as a title, cell B5 of the newly copied worksheet would equal
the corresponding cell of the "Config" worksheet (on the B6:B25 range)


Thanks in adance for your help.- Hide quoted text -


- Show quoted text -



Thanks Gord. It works perfectly.
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 621
Default Duplicating worksheet based on range and changing worksheet name

On Wed, 6 Jul 2011 15:26:18 -0700 (PDT), Norvascom wrote:

On Jun 26, 2:49*pm, Gord Dibben wrote:
Give this a try

Sub CreateNameSheets()
' by Dave Peterson *with minor mods by Gord Dibben
' List sheetnames required in col A in a sheet: config
' Sub will copy sheets based on the sheet named as: Template
' and name the sheets accordingly

* * Dim TemplateWks As Worksheet
* * Dim ListWks As Worksheet
* * Dim ListRng As Range
* * Dim myCell As Range

* * Set TemplateWks = Worksheets("Template")
* * Set ListWks = Worksheets("config")
* * With ListWks
* * * * Set ListRng = .Range("B6", .Cells(.Rows.Count, "B").End(xlUp))
* * End With

* * For Each myCell In ListRng.Cells
* * * * TemplateWks.Copy after:=Worksheets(Worksheets.Count)
* * * * On Error Resume Next
* * * * With ActiveSheet
* * * * * * .Name = myCell.Value
* * * * * * .Range("B5").Value = myCell.Value
* * * * End With
* * * * If Err.Number < 0 Then
* * * * * * MsgBox "Please fix: " & ActiveSheet.Name
* * * * * * Err.Clear
* * * * End If
* * * * On Error GoTo 0
* * Next myCell

End Sub

Gord Dibben * * MS Excel MVP



On Sun, 26 Jun 2011 10:59:51 -0700 (PDT), Norvascom wrote:
Hi,


I am looking for a macro that would copy a worksheet named "Template"
multiple times. It would create a copy of the worksheet "Template" and
change the name based on cell reported on range B6:B25 (20 worksheets)
of the worksheet "Config".
First worksheet would be named based on cell B6, Second worksheet
based on cell B7...
However, there may not always be 20 worksheets to create as for
instance there may only be data on cells from the range B6:B10 (only 5
worksheets).
Finally, as a title, cell B5 of the newly copied worksheet would equal
the corresponding cell of the "Config" worksheet (on the B6:B25 range)


Thanks in adance for your help.- Hide quoted text -


- Show quoted text -



Thanks Gord. It works perfectly.


Good to hear.................happy to assist.

Thanks to Dave P. for the original macro.


Gord
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
Changing name of worksheet based on data in cell of another worksheet [email protected] Excel Programming 24 April 22nd 11 04:09 AM
Changing Cell Color based upon value on another worksheet DPelletier Excel Programming 2 November 5th 09 10:24 PM
Changing cell values based on a worksheet name [email protected] Excel Programming 2 May 7th 07 07:51 PM
Duplicating Worksheet to 20 sheet workbook Steve Excel Discussion (Misc queries) 0 September 28th 06 11:17 PM
Duplicating worksheet by VBA Jack Sheet Excel Programming 0 December 2nd 04 09:51 AM


All times are GMT +1. The time now is 05:37 PM.

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"