فبا: كيفية حساب عدد الأوراق في المصنف
يمكنك استخدام الطرق التالية لحساب عدد الأوراق في مصنف في Excel:
الطريقة الأولى: حساب عدد الأوراق في المصنف النشط
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
الطريقة الثانية: حساب عدد الأوراق في مصنف مفتوح
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
الطريقة الثالثة: حساب عدد الأوراق في مجلد مغلق
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا.
مثال 1: حساب عدد الأوراق في مصنف نشط
لنفترض أن لدينا مصنف Excel التالي مفتوحًا ونقوم بعرضه:
يمكننا استخدام الماكرو التالي لحساب إجمالي عدد الأوراق في هذا المصنف وعرض الرقم في الخلية A1:
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن الخلية A1 تحتوي على القيمة 6 .
يخبرنا هذا أن هناك 6 أوراق في هذا المصنف.
مثال 2: حساب عدد الأوراق في ملف مفتوح
لنفترض أن لدينا مصنف Excel يسمى my_data.xlsx مع ورقتين مفتوحتين ولكننا لا نعرضه حاليًا.
يمكننا استخدام الماكرو التالي لحساب العدد الإجمالي للأوراق في هذا المصنف وعرض الرقم في الخلية A1 من المصنف النشط:
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن الخلية A1 تحتوي على القيمة 2 .
يخبرنا هذا بوجود ورقتين في المصنف المفتوح يسمى my_data.xlsx .
مثال 3: حساب عدد الأوراق في مجلد مغلق
لنفترض أن لدينا مصنف Excel يسمى my_data.xlsx يحتوي على ورقتين غير مفتوحتين حاليًا ولكنهما موجودتان في موقع الملف التالي:
C:\Users\Bob\Desktop\my_data.xlsx
يمكننا استخدام الماكرو التالي لحساب العدد الإجمالي للأوراق في هذا المصنف وعرض الرقم في الخلية A1 من الورقة الأولى من المصنف النشط:
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن الخلية A1 تحتوي على القيمة 2 .
يخبرنا هذا بوجود ورقتين في المصنف المغلق الذي يسمى my_data.xlsx .
ملاحظة : في التعليمات البرمجية، Application.DisplayAlerts=False يخبر VBA بعدم عرض عملية فتح المصنف المغلق، وعد الأوراق، ثم إغلاق المصنف.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية حساب عدد الصفوف في النطاق
VBA: كيفية حساب الخلايا التي تحتوي على نص معين
VBA: كيفية كتابة وظائف COUNTIF وCOUNTIFS