ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Multicopy worksheet (https://www.excelbanter.com/excel-programming/421295-multicopy-worksheet.html)

Noepie

Multicopy worksheet
 
Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie

joel

Multicopy worksheet
 
Sub makecopies()

Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub

"Noepie" wrote:

Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie


Noepie

Multicopy worksheet
 
Hi Joel,

Works really great. I have an additional question. Regarding the copying of
the sheets: the command button which copies the scoreform is copied too. Is
it possible to avoid copying of this button into the copies?

Kind regards,

Noepie
"Joel" wrote:

Sub makecopies()

Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub

"Noepie" wrote:

Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie


joel

Multicopy worksheet
 
You can't not copy the control but you can delete it after the sheet is copied

Private Sub CommandButton1_Click()
Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next obj
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub


"Noepie" wrote:

Hi Joel,

Works really great. I have an additional question. Regarding the copying of
the sheets: the command button which copies the scoreform is copied too. Is
it possible to avoid copying of this button into the copies?

Kind regards,

Noepie
"Joel" wrote:

Sub makecopies()

Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub

"Noepie" wrote:

Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie


Noepie

Multicopy worksheet
 
Your solution works, but not in case I protect the sheet which is copied. Can
I add a unprotect command and protect all the added sheets after the removal
of the object?

Many thanks for you help.

Kind regards,
Noepie

"Joel" wrote:

You can't not copy the control but you can delete it after the sheet is copied

Private Sub CommandButton1_Click()
Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next obj
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub


"Noepie" wrote:

Hi Joel,

Works really great. I have an additional question. Regarding the copying of
the sheets: the command button which copies the scoreform is copied too. Is
it possible to avoid copying of this button into the copies?

Kind regards,

Noepie
"Joel" wrote:

Sub makecopies()

Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub

"Noepie" wrote:

Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie


joel

Multicopy worksheet
 
I don't know if you have a password for protecting the sheets or which
protection object you have set. This code will get you started.


Use as few or as many of these options as you require.
Activesheet.Protect( _
Password:="xyz", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=true, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=true)



Private Sub CommandButton1_Click()
Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = i
.Unprotect
For Each obj In .OLEObjects
obj.Delete
Next obj
.Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
End With
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub


"Noepie" wrote:

Your solution works, but not in case I protect the sheet which is copied. Can
I add a unprotect command and protect all the added sheets after the removal
of the object?

Many thanks for you help.

Kind regards,
Noepie

"Joel" wrote:

You can't not copy the control but you can delete it after the sheet is copied

Private Sub CommandButton1_Click()
Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
For Each obj In ActiveSheet.OLEObjects
obj.Delete
Next obj
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub


"Noepie" wrote:

Hi Joel,

Works really great. I have an additional question. Regarding the copying of
the sheets: the command button which copies the scoreform is copied too. Is
it possible to avoid copying of this button into the copies?

Kind regards,

Noepie
"Joel" wrote:

Sub makecopies()

Set oldsht = Sheets(1)
AddSheets = InputBox("Enter Number of contestants to Add : ")
If IsNumeric(AddSheets) Then
For i = 2 To AddSheets
oldsht.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i
Next i
Else
MsgBox ("exiting Sub - Number entered not Numeric")
End If
End Sub

"Noepie" wrote:

Hello,

I have created a standard scoreform in a worksheet for one contestant. I
would like to create a button so I can fill in the number of contestants (n).
After I filled in the number the macro should automatically copy the standard
scoreform (n-1), because I have already the first worksheet. And to complete
the process the copied worksheets should be numbered 2, 3, and so on (with
the existing standard scoreform already named '1'). Does anyone know how to
achieve this operation with VBE?

Thanx a lot.

Kind regards,

Noepie



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

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