شريط التقدم VBA | قم بإنشاء مخطط شريطي للتقدم باستخدام رمز VBA

شريط تقدم Excel VBA في Excel

شريط التقدم هو شيء يوضح لنا مقدار العملية التي تم إنجازها أو الانتهاء منها عندما نقوم بتشغيل مجموعات كبيرة من الرموز التي تتطلب وقتًا أكبر للتنفيذ ، نستخدم شريط التقدم في VBA لإظهار المستخدم حول حالة العملية ، أو إذا كنا لدينا عمليات متعددة تعمل في رمز واحد نستخدم شريط التقدم لإظهار أي عملية تقدمت إلى أي مدى.

يعرض شريط التقدم النسبة المئوية للمهام المكتملة عند تشغيل المهمة الفعلية خلف الشاشة مع مجموعة من الإرشادات التي قدمها الكود.

عندما يستغرق رمز VBA وقتًا طويلاً للتنفيذ ، فإن قلق المستخدم هو معرفة متى يمكن أن ينتهي. بشكل افتراضي ، نحتاج إلى الانتظار حتى الوقت الكامل لإكمال المهمة ولكن بإدخال شريط التقدم ، نتعرف على تقدم رمز VBA.

في جميع برامج الكمبيوتر تقريبًا ، نرى مخطط شريط التقدم الذي يوضح تقدم المهمة التي نقوم بتنفيذها تمامًا مثل الصورة أدناه.

في التفوق يمكننا إنشاء شريط التقدم باستخدام ترميز VBA. إذا كنت قد تساءلت يومًا كيف يمكننا إنشاء شريط تقدم ، فهذه هي المقالة المصممة خصيصًا لك.

يمكنك تنزيل قالب شريط التقدم VBA هذا هنا - قالب شريط تقدم VBA

قم بإنشاء شريط التقدم الخاص بك

لإنشاء شريط تقدم ، نحتاج إلى اتباع عدة خطوات. فيما يلي خطوات المشاركة أثناء إنشاء مخطط شريط التقدم.

الخطوة 1: إنشاء أو إدراج نموذج مستخدم جديد.

بمجرد النقر فوق الخيار أعلاه ، سترى نموذج مستخدم مثل أدناه.

الخطوة 2: اضغط على المفتاح F4 لرؤية نافذة خصائص VBA.

في علامة تبويب الخصائص هذه ، نحتاج إلى تغيير خصائص نموذج مستخدم VBA الذي أدخلناه.

الخطوة 3: قم بتغيير اسم نموذج المستخدم إلى UFProgressBar.

الآن يمكننا إحالة نموذج المستخدم هذا باسم "UFProgressBar" أثناء الترميز.

الخطوة 4: تغيير خاصية إظهار النموذج لنموذج المستخدم إلى FALSE.

الخطوة 5: الآن اضبط محاذاة المستخدم لتناسب احتياجاتك. لقد قمت بتغيير ارتفاع نموذج المستخدم إلى 120 والعرض إلى 300.

الخطوة 6: تغيير التسمية التوضيحية لنموذج المستخدم إلى "شريط حالة التقدم".

الخطوة 7: الآن من مربع أدوات نموذج المستخدم ، أدخل LABEL في نموذج المستخدم في الأعلى.

باستخدام هذه التسمية ، نحتاج إلى تعيين خصائص الملصق. احذف التسمية التوضيحية واجعلها فارغة واضبط عرض الملصق.

الخطوة 8: قم بتغيير اسم الملصق إلى "ProgessLabel".

الخطوة 9: الآن من مربع الأدوات ، خذ الإطار وارسم أسفل الملصق الذي أدخلناه في الخطوات السابقة. تأكد من أن الإطار في وسط نموذج المستخدم.

الخطوة 10: نحتاج الآن إلى تغيير بعض خصائص الإطار لجعله يبدو تمامًا مثل نموذج المستخدم الذي أدخلناه.

الخاصية 1: تغيير اسم الإطار إلى "ProgressFrame".

الخاصية 2: احذف التسمية التوضيحية واجعلها فارغة.

الخاصية 3: تغيير التأثير الخاص للإطار إلى 6 - fmSpecialEffectBump.

بعد كل هذه التغييرات ، يجب أن يبدو نموذج المستخدم لدينا هكذا.

الخطوة 11: أدخل الآن تسمية أخرى. هذه المرة أدخل الملصق داخل الإطار الذي أدخلناه.

أثناء إدخال الملصق ، تأكد من أن الجانب الأيسر من الملصق يناسب تمامًا الإطار الذي أدخلناه كما هو موضح في الصورة أعلاه.

الخطوة 12: بعد إدخال الملصق ، قم بتغيير خصائص الملصق على النحو التالي.

الخاصية 1: قم بتغيير اسم الملصق إلى "MainProgressLabel".

الخاصية 2: حذف التسمية التوضيحية.

الخاصية 3: قم بتغيير لون الخلفية حسب رغبتك.

حسنًا ، لقد انتهينا الآن من عملية إعداد شريط التقدم وفي هذه المرحلة من الوقت ، يبدو مثل هذا.

نحتاج الآن إلى إدخال رموز لجعل هذا يعمل بشكل مثالي.

الخطوة 13: لجعل الإطار أضف الماكرو أدناه في Excel.

رمز:

 Sub InitUFProgressBarBar () مع UFProgressBar .Bar.Width = 0 .Text.Caption = "0٪". إظهار vbModeless End With 

ملاحظة: "UFProgressBar" هو الاسم الذي يطلق على "نموذج المستخدم" و "الشريط" هو الاسم المعطى للإطار الذي أنشأناه و "النص" هو الاسم الذي يطلق على الملصق داخل الإطار.

الآن إذا قمت بتشغيل هذا الرمز يدويًا أو من خلال المفتاح F5 ، فيجب أن نرى شريط التقدم مثل هذا.

الخطوة 14: الآن نحن بحاجة إلى إنشاء ماكرو لأداء مهمتنا. أقوم بمهمة إدخال الأرقام التسلسلية من 1 إلى 5000. إلى جانب هذا الرمز ، نحتاج إلى تكوين مخطط شريط التقدم أيضًا ، الكود أدناه هو الرمز المصمم خصيصًا لك.

رمز:

 Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar مثل Double Dim UFProgressBarPercentage مثل Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar أثناء i <= 5500 خلية (i ، 1) .Value = i CurrentUFProgressBar = i / 2500 BarWidth. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100، 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "٪ إكمال" DoEvents i = End + 1 Loop Unload Unload 


$config[zx-auto] not found$config[zx-overlay] not found