Sub CommandButton1_Click()
Dim NextRow As Long
Dim NrOfCopies As Long
Dim i As Long
Const NrOfCopiesDefault = 1
Const NrOfCopiesMaximum = 9
Do
On Error Resume Next
NrOfCopies = Application.InputBox(prompt:="How Many Copies Do You Want To Copy & Insert?", _
Title:="# COPIES", Default:=NrOfCopiesDefault, Type:=1)
On Error GoTo 0
If NrOfCopies = 0 Then
MsgBox "No copies made.", vbInformation, "CANCELLED"
Exit Sub
ElseIf NrOfCopies > NrOfCopiesMaximum Then MsgBox "Please Enter Number Of Copies Between 1 and " & NrOfCopiesMaximum, 48, "ERROR"
End If
Loop While NrOfCopies < 1 Or NrOfCopies > NrOfCopiesMaximum
With Selection
NextRow = .Row + .Rows.Count
Rows(NextRow & ":" & NextRow + .Rows.Count * (NrOfCopies) - 1).Insert Shift:=xlDown
.EntireRow.Copy Rows(NextRow & ":" & NextRow + .Rows.Count * (NrOfCopies) - 1)
.Resize(.Rows.Count * (NrOfCopies + 1)).Sort key1:=.Cells(1, 1)
End With
End Sub
|