Multiple copies of a worksheet

  • Thread starter Thread starter SirSFZ
  • Start date Start date
S

SirSFZ

I am creating a workbook with up to 30 sheets. I have created a templat
in sheet 2, and want to copy that sheet 29 times for multiple users t
them enter data into. It is rather burdensome to keep selecting an
copying (w/ move to end) sheets until I have the amount I need.

Is there a way to create multiple copies at one time? Any help i
appreciated
 
try this
Sub copytemplate()
For i = 1 To 29 'or InputBox("how many")
Sheets("first").Copy after:=Sheets(Worksheets.Count)
Next i
End Sub
 
Humm, not sure what you mean, but you can select say what you want to copy,
then go to the tabs at the bottom and select the first page you want to copy
to and hold down shift and hit the last page you want to copy to and then
select one cell in the first page and hit "enter", that's how I do it anyway
.....I'm no expert and someone else might have a better way.
Mel
 
Hi, this should do the job for you:

Sub create_copies_of_page_2()

Dim x As Integer

For x = 1 To 39 '(will create 39 copies)
'copy sheet two
Sheets("Sheet2").Copy after:=Sheets(3)
'rename the new sheet
Sheets("Sheet2 (2)").Name = "Copy " & x
Next x

End Sub


Just paste this into a new module, make the neccesary adjustements, i.e. if
the sheet you want to copy is not called 'Sheet2' then insert the name of
your sheet here etc.
 
Manually copy first sheet.

SHIFT + Click to select both sheets and copy.

Select 4 sheets and copy.

Select 8 sheets and copy.

Select 16 sheets and copy.

Not too many steps doing it this way.

If you want to use VBA.........................

Sub SheetCopy()
Dim i As Long
On Error GoTo endit
Application.ScreenUpdating = False
shts = InputBox("How many times")
For i = 1 To shts
ActiveSheet.Copy after:=ActiveSheet
Next i
Application.ScreenUpdating = True
endit:
End Sub

Then you're going to want to re-name the 29 sheets, right?

In original sheet insert a new column temporarily to the left of Column A.

Enter 30 unique names in A1:A30

Run this macro to rename all 30 sheets.

Sub NameWS()
For i = 1 To 30
Sheets(i).Name = Sheets(1).Cells(i, 1).Value
Next
End Sub

When sheets are re-named, delete the temporary column in original sheet.


Gord Dibben MS Excel MVP
 
to name the sheets 1,2,3,4,etc
Sub copytemplate()
For i = 1 To 29 'or InputBox("how many")
Sheets("first").Copy after:=Sheets(Worksheets.Count) activesheet.name="sh " & i
Next i
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top