Option Explicit
Sub PrintRng()
Dim numrow As Long
Dim i As Long
Dim runmacro
runmacro = Application.InputBox("How many print copies?", "Enter a number", , , , , , 1)
If IsNumeric(numrow) Then
For i = 1 To runmacro
Range("A1:J25").PrintOut
Next i
End If
End Sub
Logit,VBA Code:Option Explicit Sub PrintRng() Dim numrow As Long Dim i As Long Dim runmacro runmacro = Application.InputBox("How many print copies?", "Enter a number", , , , , , 1) If IsNumeric(numrow) Then For i = 1 To runmacro Range("A1:J25").PrintOut Next i End If End Sub
Option Explicit
Sub copypaste()
Dim ScreenUpdating As Boolean
Dim PasteSht As Worksheet
Dim Rg As Range
Dim Txt As String
Dim i As Integer
On Error Resume Next
Sheets.Add.Name = "Temp"
Txt = ActiveWindow.RangeSelection.Address
Set Rg = Sheets("Sheet1").Range("A1:J25") '<-- change range to copy here
If Rg Is Nothing Then Exit Sub
Set PasteSht = Worksheets("Temp")
Application.ScreenUpdating = False
Rg.Copy
For i = 1 To 2
PasteSht.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Next
Application.CutCopyMode = False
Worksheets("Temp").Activate
Range("A1").Select
ActiveSheet.Cells.Font.Name = "Calibri"
ActiveSheet.Cells.Font.Size = 6 '<--- You may be able to use a larger font depending on your printer
With Worksheets("Temp")
.PageSetup.Orientation = xlLandscape
.PageSetup.PrintArea = "$A$1:$J$51"
.FitToPagesWide = 1
.FitToPagesTall = 1
.PageSetup.PrintArea = .UsedRange.Address
.PrintOut
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Sheets("Temp").Delete
Application.DisplayAlerts = True
End Sub