السلام عليكم ورحمة الله
في هذه الحالة يجب تغيير هذا الكود بالكود التالي:
Sub Printing()
Dim I As Integer
For I = 1 To [I1]
If I <= [I1] Then
[I2] = I
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & I, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
Next
End Sub
سيقوم هذا الكود بحفظ الملفات بصيغة pdf بالتسمية حسب قيم المتغير I في الكود أي: pdf.1 و 2.pdf و 3.pdf و 4.pdf وهكذا إلى آخر قيمة قيمة للمتغير I ويكون الحفظ في مسار الملف الذي تم تنفيذ الكود منه...
بالنسبة للملف excpancepc.xlsb (الملف المرفق بالأعلى -الأخير-) نقوم بتبديل كود aaaa بالكود التالي:
Sub aaaa()
Dim Rng As Range
Dim x As Long, y
Set Rng = Sheets("Sheet2").Range("A2:A" & Sheets("Sheet2").Range("A60000").End(xlUp).Row)
y = Sheets("Sheet1").Cells(1, 15).Value
For x = 1 To y
Sheets("Sheet1").Cells(7, 7).Value = Application.Index(Rng, x)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Sheets("Sheet1").Cells(7, 7).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next
Sheets("Sheet1").Cells(7, 7).Value = Application.Index(Rng, 1)
End Sub
والله أعلم