تفضل
Sub PrintReceipt()
Dim LRow As Long
Dim namsh As String
Dim wk, wk2 As Worksheet
Dim x As Integer
Dim check As Boolean
namsh = "temp"
Set wk = Worksheets("التكويد")
For Each wk2 In Worksheets
If wk2.Name Like namsh Then check = True: Exit For
Next
If check = False Then
With ThisWorkbook
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = namsh
End With
End If
Set wk2 = Worksheets(namsh)
wk2.Range("A1:E9999") = ""
LRow = wk.Range("A999").End(xlUp).Row
wk.Range("A1:A" & LRow & ",E1:E" & LRow & ",R1:R" & LRow & ",S1:S" & LRow & ",T1:T" & LRow).Copy wk2.Range("A1")
wk2.Columns("A:E").AutoFit
With wk2
.PageSetup.PrintArea = "A1:E" & LRow
.PrintOut , , , , True, , , , False 'أمر الطباعة
End With
' حذف الورقة جديدة
Application.DisplayAlerts = False
If ThisWorkbook.Worksheets.Count = 1 Then MsgBox "There Is only One Sheet. The Deletion Can't Be Done!", vbCritical: Exit Sub
If Evaluate("=ISREF('" & namsh & "'!A1)") Then
Sheets(namsh).Delete
End If
Application.DisplayAlerts = True
End Sub