السلام عليكم ورحمة الله وبركاته
توقفت لفترة عن طرح موضوعات جديدة نظراً لما وجدت من فتور في طلب العلم ، ولكن رجعت إلى نفسي وقلت وماذا يضر أن يطرح الموضوع حتى ولو لم يجد طلاب علم كثر ، فلربما يستفيد من تلك الموضوعات أناس آخرون فيما بعد ، فنتلقى منهم دعوة قد تنفعنا حين لا ينفع العمل ...
أقدم لكم
كود عبارة عن إجراء عام يمكنك من نسخ ورقة العمل (أي ورقة عمل تقوم بتحديدها من خلال الكود) ، وتصدير ورقة العمل إلى مصنف جديد باسم تحدده من خلال الكود ...
يمكن التعديل على الإجراء العام بما يتناسب مع متطلبات كل شخص ، فيمكن على سبيل المثال تصدير أكثر من ورقة عمل ، وربط الاسم بخلية محددة في ورقة العمل (فالأكواد ليس ثابتة إنما مرنة يمكنك التعديل عليها وقتما شئت وكيفما شئت)
الشرح داخل الكود لكل سطر لمن أراد أن يستفيد ويتعلم
CODE
Option Explicit
Sub Test()
'إلغاء خاصية اهتزاز الشاشة
Application.ScreenUpdating = False
'تصدير ورقة العمل إلى مصنف جديد عن طريق إجراء عام
CopySheet Worksheets("Sheet1")
'إعادة خاصية اهتزاز الشاشة
Application.ScreenUpdating = True
End Sub
Private Sub CopySheet(ws As Worksheet)
Dim wb As Workbook
Dim sFile As String
'متغير نصي يخزن فيه مسار المصنف الجديد في نفس مسار المصنف الحالي مع وضع التاريخ واسم المصنف
sFile = ws.Parent.Path & Application.PathSeparator & Format(Date, "yyyy-mm") & " " & "New Workbook"
'نسخ ورقة العمل إلى ملف جديد
ws.Copy
'تعيين المتغير ليعبر عن المصنف النشط
Set wb = ActiveWorkbook
'حفظ المصنف الجديد في المسار المحدد مسبقاً
wb.SaveAs sFile, xlOpenXMLWorkbook
'إغلاق المصنف
wb.Close
'تنشيط المصنف الحالي
ThisWorkbook.Activate
End Sub
إليكم الملف المرفق مطبق فيه الكود
[/b]
[b] رابط الملف من هنا
أرجو الله أن تستفيدوا من الموضوعات التي تطرح لكم ، وفقني الله وإياكم لكل خير
كان معكم أخوكم في الله / ياسر خليل أبو البراء
تقبلوا وافر تقديري واحترامي