السلام عليكم و رحمة الله و بركاته
فكرة هذا الكود تقوم على وجود مصنف اكسيل به ورقتين
الورقة الأولى و اسمهاItems
و بها ارقام الاصناف في العمودA
و اسماء الأصناف بالعمودB
و عدد الأصناف يفوق ال 300 صنف
و يوجد لدينا في الورقة الثانيةItem Card
بطاقة صنف فارغة
نريد وضع التاريخ في الخليةC1 و الذي يمثل احدى السنوات من عام 2005 و حتى 2010
و في الخليةB2 رقم الصنف
و الخليةB3 اسم الصنف
و من ثم طباعة بطاقة الصنف
و ثم نغير السنة
حتى يتم طباعة 6 بطاقة للصنف الواحد و هي تمثل السنوات
و ثم الصنف التالي و نفس العملية
و هكذا حتى نقوم بهذه العملية لكل الاصناف
و لعمل ذلك بطريقة مختصرة و سريعة قمت بعمل هذا الكود
Sub Excel4Us()
Dim c As Range, ws As Worksheet, LR As Long, MyYear()
LR = Sheets("Items").Range("a" & Rows.Count).End(xlUp).Row
Set ws = Sheets("Item Card")
MyYear = Array("2005", "2006", "2007", "2008", "2009", "2010")
For Each c In Sheets("Items").Range("a2:a" & LR)
For i = LBound(MyYear) To UBound(MyYear)
With ws
.Range("c1").Value = MyYear(i)
.Range("b2").Value = c.Value
.Range("b3").Value = c.Offset(, 1).Value
.PrintOut
End With
Next i
Next c
End Sub
__________________
دمتم في حفظ الله