ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   [Q] How to create new worksheets based on an array (via named range) (https://www.excelbanter.com/excel-programming/445253-%5Bq%5D-how-create-new-worksheets-based-array-via-named-range.html)

John[_141_]

[Q] How to create new worksheets based on an array (via named range)
 
How could I use a named range to create a series of new worksheets?

Details:
I have a named range (A1:A3) called NewSheetNames. I want to create a
new worksheet for each value in the named range. (3 sheets in this
example).

Example:

NewSheetNames (named range)
A1: Sheet1
A2: AnotherSheet
A3: NewSheet

Click button, and vba creates three new sheets called:
1. Sheet1
2. AnotherSheet
3. NewSheet

Any pointers are greatly appreciated!

John[_141_]

How to create new worksheets based on an array (via named range)
 
On Jan 10, 11:18*am, John wrote:
How could I use a named range to create a series of new worksheets?

Details:
I have a named range (A1:A3) called NewSheetNames. I want to create a
new worksheet for each value in the named range. (3 sheets in this
example).

I found some code that got me started. Think this should work, but if
there's a better way I'm all ears!



Sub Create_Worksheets()

Dim rngMemberList As Range
Dim myCell As Range
Dim strSheetName As String

Set rngMemberList = Range("vbSheetExpandMemberList")

Application.ScreenUpdating = False
Application.EnableEvents = False

For Each myCell In rngMemberList
strSheetName = myCell.Value
'copy the template worksheet and then give it the name contained
in the sheetName variable.
Sheets("wsToCopy").Copy 'Befo=Sheets("Sum End")
Sheets("wsToCopy (2)").Name = sheetName
Next myCell

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub







Example:

NewSheetNames (named range)
A1: Sheet1
A2: AnotherSheet
A3: NewSheet

Click button, and vba creates three new sheets called:
1. Sheet1
2. AnotherSheet
3. NewSheet

Any pointers are greatly appreciated!



Don Guillett[_2_]

How to create new worksheets based on an array (via named range)
 
Sub makeshtsfromrngSAS()
Dim c As Range
For Each c In Range("myrng")
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
Next c
End Sub
=====
On Jan 10, 1:28*pm, John wrote:
On Jan 10, 11:18*am, John wrote: How could I use a named range to create a series of new worksheets?

Details:
I have a named range (A1:A3) called NewSheetNames. I want to create a
new worksheet for each value in the named range. (3 sheets in this
example).


I found some code that got me started. Think this should work, but if
there's a better way I'm all ears!

Sub Create_Worksheets()

* * Dim rngMemberList As Range
* * Dim myCell As Range
* * Dim strSheetName As String

* * Set rngMemberList = Range("vbSheetExpandMemberList")

* * Application.ScreenUpdating = False
* * Application.EnableEvents = False

* * For Each myCell In rngMemberList
* * * * strSheetName = myCell.Value
* * 'copy the template worksheet and then give it the name contained
in the sheetName variable.
* * * * Sheets("wsToCopy").Copy 'Befo=Sheets("Sum End")
* * * * Sheets("wsToCopy (2)").Name = sheetName
* * Next myCell

* * Application.ScreenUpdating = True
* * Application.EnableEvents = True

End Sub







Example:


NewSheetNames (named range)
A1: Sheet1
A2: AnotherSheet
A3: NewSheet


Click button, and vba creates three new sheets called:
1. Sheet1
2. AnotherSheet
3. NewSheet


Any pointers are greatly appreciated!



Gord Dibben[_2_]

[Q] How to create new worksheets based on an array (via named range)
 
Sub Add_Sheets()
Dim rCell As Range
For Each rCell In Range("A1:A3")
With Worksheets.Add(after:=Worksheets(Worksheets.Count) )
.Name = rCell.Value
End With
Next rCell
End Sub


Gord

On Tue, 10 Jan 2012 11:18:56 -0800 (PST), John
wrote:

How could I use a named range to create a series of new worksheets?

Details:
I have a named range (A1:A3) called NewSheetNames. I want to create a
new worksheet for each value in the named range. (3 sheets in this
example).

Example:

NewSheetNames (named range)
A1: Sheet1
A2: AnotherSheet
A3: NewSheet

Click button, and vba creates three new sheets called:
1. Sheet1
2. AnotherSheet
3. NewSheet

Any pointers are greatly appreciated!


Gord Dibben[_2_]

[Q] How to create new worksheets based on an array (via named range)
 
Better yet..........a variable range of names in Column A

Sub Add_Sheets22()
Dim rCell As Range
Dim rng As Range
Set rng = Range(Cells(1), Cells(Rows.Count, 1).End(xlUp))
For Each rCell In rng
With Worksheets.Add(after:=Worksheets(Worksheets.Count) )
.Name = rCell.Value
End With
Next rCell
End Sub


Gord

On Tue, 10 Jan 2012 14:44:37 -0800, Gord Dibben
wrote:

Sub Add_Sheets()
Dim rCell As Range
For Each rCell In Range("A1:A3")
With Worksheets.Add(after:=Worksheets(Worksheets.Count) )
.Name = rCell.Value
End With
Next rCell
End Sub


Gord

On Tue, 10 Jan 2012 11:18:56 -0800 (PST), John
wrote:

How could I use a named range to create a series of new worksheets?

Details:
I have a named range (A1:A3) called NewSheetNames. I want to create a
new worksheet for each value in the named range. (3 sheets in this
example).

Example:

NewSheetNames (named range)
A1: Sheet1
A2: AnotherSheet
A3: NewSheet

Click button, and vba creates three new sheets called:
1. Sheet1
2. AnotherSheet
3. NewSheet

Any pointers are greatly appreciated!



All times are GMT +1. The time now is 07:27 AM.

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