لابد من نسخ الخلايا أولا لنطاق جديد بحيث يتم إلغاء الفراغات
ثم طباعة النطاق الجديد
استخدم الكود التالى لتنظيم الخلايا كما أردت
و من ثم
تعيين نطاق الطباعة للنطاق الجديد
هذا ما يحضرنى الآن
وربما هناك حلول أفضل
لكنها تحتاج لوقت
Sub Button1_Click()
Dim myrng As Range, myc As Range, i As Integer, j As Integer
i = 1
j = 6
For x = 1 To 4
Set myrng = Range(Cells(i, j - 5), Cells(10, j - 5))
For Each myc In myrng
If myc <> "" Then
myc.Copy Cells(i, j)
i = i + 1
End If
Next myc
i = 1
j = j + 1
Next x
Range("F1:I10").Select
ActiveSheet.PageSetup.PrintArea = "$F$1:$I$10"
End Sub
الملف المرفق
PRINT1-kemas.rar