فبا: كيفية حساب عدد الأوراق في المصنف


يمكنك استخدام الطرق التالية لحساب عدد الأوراق في مصنف في 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *