Seamus2626
asked on
Amend Code
Hi,
I have a sub below that deals with sheets calculation D1 & D2 &d3 before it deals with calculation variance d2 & d3
Can someone amend so it deals with calculation variance d2 & d3 first and then the rest
Many thanks
Seamus
--------------------
Sub PrepTool()
' Macro expands sheet for use with required number of records
' Be aware that many aspects of this macro are hard coded (e.g. the lengths of the lines to be copied down)
' and, as such, can be easily broken if the tool is amended
Dim Records As Long
Dim Selection As Integer
Dim x As Integer ' counter
On Error GoTo Finish
Selection = MsgBox("You are about to be asked how many records you will need in the tool. Be aware that choosing a large number of records will inflate the size of the tool markedly. You should save a new version of the tool before choosing to expand for your records as this cannot be undone. Choose 'Cancel' to go back and save", vbOKCancel)
If Selection = vbCancel Then Exit Sub
Records = InputBox("How many records are you planning to input?", "Sample", 2)
Application.ScreenUpdating = False
'Turns off auto-calculate
Application.Calculation = xlCalculationManual
For x = 1 To 2
With Sheets("Input - D" & x)
.Activate
.Unprotect
End With
Range("B8:DW8").AutoFill Range("B8:DW" & (Records + 7))
ActiveSheet.Protect
With Sheets("Calculation - D" & x)
.Activate
.Unprotect
End With
Range("A14:BJ14").AutoFill Range("A14:BJ" & (Records + 13))
ActiveSheet.Protect
Next x
With Sheets("Calculation - variation - D2")
.Activate
.Unprotect
End With
Range("A12:FE12").AutoFill Range("A12:FE" & (Records + 11))
ActiveSheet.Protect
With Sheets("Input - D3")
.Activate
.Unprotect
End With
Range("B8:DW8").AutoFill Range("B8:DW107")
ActiveSheet.Protect
With Sheets("Calculation - D3")
.Activate
.Unprotect
End With
Range("A14:BJ14").AutoFill Range("A14:BJ113")
ActiveSheet.Protect
With Sheets("Calculation - variation - D3")
.Activate
.Unprotect
End With
Range("A12:FE12").AutoFill Range("A12:FE111")
ActiveSheet.Protect
Finish:
Sheets("Instructions for use").Activate
Application.ScreenUpdating = True
MsgBox "Your Tool is now ready for use", vbOKOnly, "Ready"
End Sub
I have a sub below that deals with sheets calculation D1 & D2 &d3 before it deals with calculation variance d2 & d3
Can someone amend so it deals with calculation variance d2 & d3 first and then the rest
Many thanks
Seamus
--------------------
Sub PrepTool()
' Macro expands sheet for use with required number of records
' Be aware that many aspects of this macro are hard coded (e.g. the lengths of the lines to be copied down)
' and, as such, can be easily broken if the tool is amended
Dim Records As Long
Dim Selection As Integer
Dim x As Integer ' counter
On Error GoTo Finish
Selection = MsgBox("You are about to be asked how many records you will need in the tool. Be aware that choosing a large number of records will inflate the size of the tool markedly. You should save a new version of the tool before choosing to expand for your records as this cannot be undone. Choose 'Cancel' to go back and save", vbOKCancel)
If Selection = vbCancel Then Exit Sub
Records = InputBox("How many records are you planning to input?", "Sample", 2)
Application.ScreenUpdating
'Turns off auto-calculate
Application.Calculation = xlCalculationManual
For x = 1 To 2
With Sheets("Input - D" & x)
.Activate
.Unprotect
End With
Range("B8:DW8").AutoFill Range("B8:DW" & (Records + 7))
ActiveSheet.Protect
With Sheets("Calculation - D" & x)
.Activate
.Unprotect
End With
Range("A14:BJ14").AutoFill
ActiveSheet.Protect
Next x
With Sheets("Calculation - variation - D2")
.Activate
.Unprotect
End With
Range("A12:FE12").AutoFill
ActiveSheet.Protect
With Sheets("Input - D3")
.Activate
.Unprotect
End With
Range("B8:DW8").AutoFill Range("B8:DW107")
ActiveSheet.Protect
With Sheets("Calculation - D3")
.Activate
.Unprotect
End With
Range("A14:BJ14").AutoFill
ActiveSheet.Protect
With Sheets("Calculation - variation - D3")
.Activate
.Unprotect
End With
Range("A12:FE12").AutoFill
ActiveSheet.Protect
Finish:
Sheets("Instructions for use").Activate
Application.ScreenUpdating
MsgBox "Your Tool is now ready for use", vbOKOnly, "Ready"
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER