So somewhere we have Master Sheet with range(A1:C100) which will ultimately be filled with data.
You want Sheet 1 to show Master Sheet A1:C10, Sheet 2 is Master Sheet A1:C11, Sheet 3 is Master Sheet A1:C12.....
I gather that the sheets will be named Sheet 1, Sheet 2, Sheet 3, ....
I suggest that you look at my two proposals in small workbooks because if you choose to delete, eg, Sheet 1 that name will no longer be created in the current workbook.
(There is a way to name your sheets as you go but I'm not conversant with that.)
Ok. My proposals:
1. The first macro selects a range of
data from Master and copies that
data to each new sheet with a new row added each time.
2. Create a sheet called Master and a sheet called Formulae. In Formula select A1 and type =Master!A1. In B1 type =Master!B1 and in C1 type Master!C1.
Now select A1:C1 and drag down to row 110. That now gives a 'master list' of formulae referring to "Master". When the second macro is run it will select an appropriate range of formulae and add then increasingly to each new sheet. Type some values into Master and check them across the newly created sheets.
These are my codes:
Code:
[B]Sub Mirror_Master_Plus1()[/B]
'
' Copy DATA to new sheet
'
'
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim x As Long
Sheets("Master").Select
For x = 1 To 10
Range("Master!A1:C" & 9 + x).Copy
Sheets.Add After:=ActiveSheet
Range("A1").Select
ActiveSheet.Paste
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
________________________________________________________________________________
________________________________________________________________________________
[B]Sub Mirror_Master_Plus2()[/B]
'
' Copy FORMULAE to new sheet
'
'
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim x As Long
Sheets("Formulae").Select
For x = 1 To 5
Range("'Formulae'!A1:C" & 9 + x).Copy
Sheets.Add After:=ActiveSheet
Range("A1").Select
ActiveSheet.Paste
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
If the second code is the one that you want then change the 5 to 100.
I'm guessing that to create 100 sheets is going to take some time so I've added some lines which should reduce that.
That said, I'm sure there is someone who can suggest a speedier, or even more efficient method to do this should either be of your choice.
Please refer back.