اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

دروس فى VBA Excel _ نتعلم معا برمجه اكسل


الردود الموصى بها

ملحق الدرس الرابع

الخاص بالرسائل

 

نستعرض هنا الرساله التى تحتوى على مربع ادخال بيان

قد يكون اسم ما

وقد يكون كلمه سر للدخول

 

فيما يختص بالجزئية الأولى

 

يكون كود الرساله بهذا الشكل

وهذا الكود على سبيل المثال

Sub example()
    Dim result As String   
    result = InputBox("Text?", "Title") 
    If result <> "" Then  
    End If
End Sub

فتكون الرساله بهذا الشكل

كما بالصورة التالية

 

ry2wlF.jpg

 

وإذا أفترضنا أننا نريد أن يجعل الاكسل يظهر الاسم او الكلمه التى ستكتب

داخل هذا المربع

 

فيكون الكود بهذا الشكل

Sub example_1 ()
    Dim result As String
    
   ("result = InputBox("Text ?", "Title", "write the name
   
    If result <> "" Then
       MsgBox result
    End If
End Sub

الاختلاف بين الكودين فى اضافة هذه الجملة

 

Msgbox result

 

وهى تعنى ظهور رساله تاليه بها الجملة التى تم ادخالها بالمربع

 

فتظهر الرساله

كما بالصورتيين التاليتين

 

zq4eao.jpg

 

بعد كتابه الاسم على سبيل المثال

تظهر الرساله بالشكل التالى

 

M3qi8x.jpg

 

نأتى لجزئية كلمة السر

 

لقد جعلت الكود خاص بالمثال العملى المرفق

يختص بالدخول الى الشيت الثانى

وقد سجلت الكود بمحرر الأكواد الخاص بحدث الشيت الثانى

أى داخل الصفحه نفسها من خلال الفيجوال بيسك

 

وان شاء الرحمن سوف نتطرق لأمر الأكواد بشىء من التفصيل فى الدروس القادمة وما هو الفرق بين الكود داخل موديول أو بحدث الشيت أو بحدث المصنف بالكامل

 

والكود الخاص برساله كلمه السر

كالتالى

Private Sub Worksheet_Activate()

xx:

Dim x
x = InputBox("Password required" & Chr(13) & "يلزم معرفة كلمة السر للدخول لهذه الصفحه ", "فضلاً أدخل كلمة السر")
If IsNull(x) Or x = "" Then GoTo xx


If x = "بسم الله" Then
MsgBox "كلمة السر تم قبولها تفضل لتنفيذ العمليه"
Else
MsgBox "Wrong Password" & Chr(13) & " عفواً لم تدخل كلمة السر الصحيحه سيتم العوده بك للصفحة الرئيسيه !!", vbOKOnly
Sheets("sheet1").Activate
End If


End Sub

فعند محاولة الدخول للشيت الثانى تظهر لنا الرساله كما بالصورة التالية

 

YALEIk.jpg

 

وعند كتابة كلمه السر وهى

بسم الله

بين الكلمتين مسافة واحده فقط

 

تظهر لنا رساله بهذا الشكل

 

VY9J8r.jpg

 

 

وبالضغط على زر OK يتم الدخول الى الشيت الثانى

 

فى حال كوننا لم ندخل كلمه السر الصحيحة

تظهر لنا رساله توضح ذلك

وتنتقل مباشرة الى الشيت الأول

والرساله كما بالشكل التالى

 

 

 

 

ccnV7Q.jpg

 

مرفق ملفين 

الأول ملحق الدرس الرابع PDF

الثانى مثال عملى لما ورد بالدرس

 

وتقبلوا منى وافر الاحترام والتقدير

ملحق الدرس4.rar

مثال عملى ملحق الدرس 4.rar

  • Like 8
رابط هذا التعليق
شارك

  • الردود 196
  • Created
  • اخر رد

Top Posters In This Topic

الأستاذ الفاضل / محمود الشريف

جزاكم الله خيرا

شرح يمتاز بالبساطه 

متابع بصمت لسلسله الدروس

وخاصة لم أجد موضوع متعلق بالرسائل بالمنتدى

تم تعديل بواسطه الحسن الحسن
  • Like 2
رابط هذا التعليق
شارك

إبداعاتك مستمرة .. متميز ومبدع وكلام كتير يعجز اللسان عن وصفه

بارك الله فيك أخي الحبيب محمود

  • Like 1
رابط هذا التعليق
شارك

إخوانى فى الله

الأستاذ الكريم // أبو حبيبه

و

الأستاذ الكريم // الحسن الحسن

بارك الله فيكم على مروركم الكريم 

 

أخى فى الله

الأستاذ القدير // ياسر خليل

بارك الله فيكم وجزاكم الله عنى خيرا

ومروركم الكريم وتشجيعكم الدائم لتلاميذ هذا المنتدى شرف لى

وأتمنى من الله عز وجل

أننى أضيف شيئا لهذا المنتدى الكريم 

الحافل بعده أساتذة جديرين بكل الاحترام والفخر لكل متعلم على ايديهم

وأتمنى أن لا يكون الموضوع بحد ذاته مكررا 

وان كان هناك عده مواضيع مشابهه له ولكن قد تكون الطريقة مختلفة

فى ايصال المعلومه

وتقبلوا منى جميعا وافر الاحترام والتقدير

  • Like 2
رابط هذا التعليق
شارك

الجزء الثانى

الدرس الخامس

 

مقدمة عن البرمجة بلغة VBA

فى برنامج إكسیل

 

يتميز برنامج  EXCEL بالواجهة الرسومية شانه شأن كافة البرامج التى تعمل تحت نظام التشغيل Windows وهذه الواجهة الرسومية تخفى خلفها الأوامر التى أصدرها للحاسب والتى تكون عادة

مكتوبة بلغة من لغات الحاسب التى تعتمد على ما يسمى بالبرمجة الحدثية ( أو البرمجة الموجهة بالأحداث ) Events Programming

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

 

والواقع ان هذه الأزرار تخفى خلفها التعليمات التى تعطى للحاسب ، من خلال لغة الـ Visual Basic

حيث يتم كتابتها بطريقة محددة وفقا لقواعد اللغة وكل مجموعة وهذه التعليمات تسمى الاكواد Codes

وكل إجراء يرتبط تنفيذه بحدث معين يحدث من الأكواد او التعليمات تسمى إجراء Procedure

من قبل المستخدم مثل الضغط بزر الماوس الأيمن او الأيسر على زر او تحريك الماوس او فتح كائن أو إغلاقه

وتعتبر وحدات الماكرو احد الأدوات المستخدمة بواسطة Excel  لكى يقوم المستخدم بتخزين مجموعة من التعليمات او الاكواد وتنفيذها من خلال حدث معين دون الحاجة إلى كتابة هذه التعليمات بنفسه بواسطة لغة Visual Basic ودون الحاجة الى تعلم قواعدها.

 

ونتناول فى هذا الفصل كيفية التعامل مع أوامر لغة

Visual Basic من خلال برنامج Excel وذلك بهدف التعرف على كيفية تصميم برامج تطبيقية قوية باستخدام Excel تتمتع بخواص وإمكانيات متقدمة يسهل من خلالها إدخال البيانات والتعامل معها .

 

نبدأ على بركه الله تعالى

فى شرح بعض الأمور الخاصة بالفيجوال بيسك اكسل

وهى فى غايه الأهمية

كونها توضح لنا العديد من الأمور المستخدمه فى الأكواد

وبرجاء قرائتها بتأنى وبدقه لإستيعاب ما بها من نقاط هامه جدا

 

 

 

 

 

 

 

 

التعامل مع محرر الكود

فى الفيجوال بيسك اكسل

 

 

 

1 – فتح Visual Basic من خلال برنامج الأكسل :

 

سبق الإشارة الى كيفية فتح محرر الأكواد راجع درس الماكرو

 

2 – إنشاء الإجراء Procedure :

 

الإجراء Procedure هو مجموعة الجمل أو الأوامر التي يتم كتابتها لتنفيذ مهمة معينة .

ولإنشاء الإجراء يستخدم الأمر sub ويعنى ذلك إنشاء إجراء جديد ويعقب ذلك اسم الإجراء ويكون من اختيار المبرمج أو المستخدم فنجد أن البرنامج يكتب تلقائيا جملة End sub

على أن يتم كتابة الأوامر الخاصة بالإجراء بين جملتي الإعلان والنهاية .

 

3 – تنفيذ الإجراء :

 

يتم تنفيذ الإجراء من خلال ورقة العمل بأحد طريقتين:

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

الثانية : عمل زر خاص لتنفيذ الماكرو باستخدام أشرطة أدوات النماذج واختيار الأمر إنشاء زر وتخصيص الزر للماكرو المحدد ويتم تنفيذ الماكرو بالضغط على هذا الزر .

 

4 – المتغيرات Variables :

 

يقصد بالمتغير مكان يتم حجزه فى ذاكرة الحاسب يتم فيه تخزين قيمة او مجموعة من القيم لكى يتم استخدامها داخل البرنامج .

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

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

 

شروط تسمية المتغيرات :

 1 - يجب ألا يبدأ اسم المتغير برقم وأن يبدأ بحرف .

2 - الحروف التى تلى الحرف الأول يمكن أن تكون حروف

      أو أرقام أو الاثنين معا .

3 -  لا يجوز أن يحتوى اسم المتغير على مسافات أو نقطة

      أو رموز خاصة مثل ( ؟ ، * ،/ ، ..... الخ ) ولكن يمكن

      استخدام الشرطه السفليه ( _ ) .

4 - ألا يكون اسم من الأسماء المحجوزة مثل

     (if ، Else,   dim, double, ...... الخ )

5 - يجب ألا يكون مستخدما من قبل .

      بمعنى لو هناك كود بإسم MZM فلا يجوز كتابه كود

      آخر داخل نفس المصنف بنفس الاسم .

 

JTeZ83.jpg

 

 

أمثلة على أسماء صحيحة للمتغيرات :

 

Salma  –  Mahmoud  –  mynameisyasser  – Howareyou   - Y2011

 

 

أمثلة على أسماء غير صحيحة للمتغيرات :

 

Ali Gomaa - Good Morning - Howareyou?1210

 

5 – الثوابت Constants :

 

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

 

6 – الإعلان عن المتغيرات :

 

الإعلان عن المتغير هو أن نخبر لغة visual basic  عن اسم المتغير ونوع البيان وهناك طريقة للإعلان عن المتغيرات وهى بكلمة dim .

 

وهناك أساليب مختلفة لعملية الإعلان وهى كالتالى :

 

1 - الإعلان عن متغير واحد فقط فى كل سطر من سطور الإعلان مثل :

Dim a as integer

Dim b as single

 

2 -  الإعلان عن أكثر من متغير فى سطر الإعلان مثل :

Dim a, b as integer

 

3 - الإعلان عن متغير وتخصيص قيمة له فى سطر الإعلان :

Dim C as integer = 7

 

4 - الإعلان عن متغيرات ليست من نفس النوع وإعطاء قيمة لها فى نفس السطر

"Dim X as integer = 9 , Y as string = "Mr. Mzm EL-Shrief 

 

5 - الإعلان عن متغير وتخصيص قيمة له من ناتج معادلة رياضية فى نفس السطر

Dim X as integer = a + b

 

7 – تخصيص القيم للمتغيرات :

 

عند تخصيص قيمة للمتغير فإن هذه القيمة تأخذ أحد الأشكال التالية :

1 - قيمة مجردة  X = 3

2 - متغير آخر      X = Y

3 - عملية حسابية  X = a + b

 

ملاحظات :

 

·      عند الإعلان عن متغير ولم يتم وضع قيمة له فإنه يتم افتراض قيمة له كالآتي :

1 - المتغيرات الرقمية تأخذ الرقم صفر .

2 - المتغير المنطقي يأخذ القيمة False .

3 - المتغيرات الحرفية تأخذ قيمة فارغة  " ".

4 – المتغير date يأخذ التاريخ 31/ 12 /1899 .

·      القيمة الحرفية  "" لا تساوى القيمة الحرفية  "  " حيث أن الأولى قيمة فارغة أما القيمة الثانية فهى عبارة عن مجموعة من المسافات والمسافة لها قيمة .

·      يمكن جمع الأرقام وأيضا النصوص وذلك باستخدام علامات الربط & أو علامة +

 

 

 

 

 

 

مثال

Dim X , Y , Z as string

"X = " Deiaa 

"Y = " Mahmoud 

Z = X + Y

 

وعلى ذلك تكون قيمة Z هى

Deiaa Mahmoud

 

 

انتهى الدرس الخامس

مرفق ملف pdf

به كامل الدرس الخامس

 

وتقبلوا منى وافر الاحترام والتقدير

الدرس 5.rar

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

أخى فى الله

الأستاذ القدير // ياسر خليل

بارك الله فيكم على مروركم الكريم 

وتشجيعكم الدائم لى 

شاكرا لكم تقديركم وثناؤكم على الموضوع ومتابعتكم المستمرة

تقبل منى وافر الاحترام والتقدير

  • Like 1
رابط هذا التعليق
شارك

أخوانى فى الله 

 

الأستاذ الحبيب  //  أحمد الحاوى

الأستاذ القدير //  سعد عابد

الأستاذ الكريم // الدهشورى 

الأستاذ الكريم // جلال الجمال 

 

بارك الله فيكم على مروركم الكريم

وتقبلوا منى وافر الاحترام والتقدير

رابط هذا التعليق
شارك

 

 الدرس السادس

 

الأوامر والدوال فى لغة الـ Visual Basic

 

سنركز فى هذا الدرس على عدد من الجمل والدوال

ومن أهم هذه الجمل والدوال :

1 – جملة If – then

2 – جملة  Select Case

3 – جملة  For – next

4 – جملة Do while loop

5 – جملة Do loop while

6 – دالة صندوق الرسائل Message Box وقد سبق الحديث عنها بالدروس السابقة

ولكننا سنتحدث أيضا عنها بهذا الدرس وبشىء من التفصيل بدرس مستقل .

7 – دالة صندوق الإدخال Input Box

8 – إنشاء الدوال الخاصة

 

الجملة الشرطية If – then

 

تستخدم هذه الجملة فى حالة وجود احتماليين منطقيين كنتيجة لوجود شرط معين .

وتأخذ هذه الدالة الأشكال التالية :

 

1 – جملة IF ذات السطر الواحد

 

أمر Then الشرط IF

مثال :

If x = 5 then y = x

 

 

2 – جملة IF ذات السطور المتعددة

 

       Then الشرط IF

الأوامر

End IF

مثال :

If x = 5 then

Y = x

End IF

نلاحظ الآتى :

 

-       لا يتم كتابه اى شىء بعد Then

-       أنه تم اغلاق جملة IF بكلمة End IF

 

3 – جملة If – then – else

 

Then الشرط IF

مجموعة الأوامر

Else

مجموعة الأوامر

End IF

مثال :

If x = 5 then

Y = x

Else

Y = z

End If

 

نلاحظ الآتى :

 

-       لا يتم كتابة أى شىء بعد Then

-       إذا تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ( السطر / السطور ) التى تلى كلمة Then

-       فى حالة عدم تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ( السطر / السطور ) التى تلى كلمة Else

-       يتم إغلاق جملة IF بكلمة End IF

 

4 – جملة If Then - Else if – Else

 

Then الشرط IF

مجموعة الأوامر

Else IF

مجموعة الأوامر

Else

مجموعة الأوامر

End IF

نلاحظ التالى :

 

ذكرنا سابقا أن جملة IF تستخدم فى حالة وجود احتماليين منطقيين كنتيجة لوجود شرط معين ولكن هذه الحالة الرابعة سوف تحتمل أكثر من شرط وبالطبع كل شرط له احتمالين إما أن يتحقق أو لن يتحقق وسوف نلاحظ الآتى فى هذه الحالة :

 

-       لا يتم كتابة أى شىء بعد كلمة Then

 

-       إذا تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ) السطر / السطور ( التى تلى كلمة Then

 

-       فى حالة عدم تحقق الشرط لا يتم تنفيذ الأوامر التى تلى كلمة Then ويتم الانتقال لاختبار الشرط الثانى المكتوب بعد كلمة Else IF ويلي الشرط مباشرة كلمة Then أيضا .

 

-       إذا لم يتحقق الشرط الثانى ووجد شرط ثالث يتم كتابته بعد كلمة Else IF أيضا بنفس الطريقة السابقة فى الخطوة السابقة .

 

-       وفى حالة عدم تحقق الشروط جميعا يتم تنفيذ الأوامر الموجودة فى ( السطر /السطور) التى تلى كلمة Else

 

-       تأتى كلمة Else فى نهاية كافة الشروط وهى آخر احتمال فى الجملة حيث يتم إغلاق الجملة بعدها نهائيا بكلمة Else IF ويجب ملاحظة ألا يسبق سطر Else أى سطر به كلمة Else IF وإلا تسبب فى خطأ جملة IF بالكامل .

 

-       يجب ملاحظة أننا فى إطار جملة IF واحدة وأن كلمة Else ليست مثل Else IF وأيضا IF ليست مثل Else IF حيث أن كل هذه الكلمات تدخل ضمن جملة IF الرئيسية وبالتالى فإنه يتم إغلاق جملة IF بكلمة End IF واحدة فقط .

 

 

مثال :

TsEPS1.jpg

 

5 – جملة IF المتداخلة (Nested if )

 

Then الشرط IF

Then الشرط                IF   

                     مجموعة الأوامر

Else                                     

                      مجموعة الأوامر

End IF                               

Else                                     

                   مجموعة الأوامر

End IF

 

نلاحظ التالى :

 

هذه الحالة مختلفة لأنه يوجد جملتى IF وسوف يتم إغلاقهما بكلمتى End IF

 

نشرح هذه الحالة الخامسة بالمثال التالىوهو مثال هام

 

إذا أردنا اختبار اسم المستخدم وكلمة المرور عند الدخول للموقع أو البرنامج أو الإيميل الشكل البسيط جدا لذلك

 هو إخراج رسالة للمستخدم تفيد التالى (هناك خطأ فى اسم المستخدم أو فى كلمة المرور )

إلا أن هذا لا يليق بمبرمج محترف

 حيث يجب أن يوضح للمستخدم سبب الخطأ

هل فى اسم المستخدم أو فى كلمة المرور

 وبالتالى فإن الرسالة يجب أن تكون كالتالى

(هناك خطأ فى كلمة المرور )

 وهذا معناه أن المستخدم قد أدخل اسم المستخدم بشكل صحيح والعكس أيضا .

 

ويكون الكود كالتالى :

 

UjAeUJ.jpg

 

مرفق ملف pdf

به كامل الدرس السادس

وتقبلوا منى وافر الاحترام والتقدير 

 

الدرس 6.rar

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

أخى فى الله 

الأستاذ الكريم // أحمد فؤاد

بارك الله فيكم وجزاكم الله خيرا على دعاؤكم الطيب

وتقبل منى وافر الاحترام والتقدير

رابط هذا التعليق
شارك

الدرس السابع

 

الجملة الشرطية Select Case

 

المثال السابق وهو قبل الأخير الذى ذكرناه فى جملة

If - then - elseif – else والخاص بتقديرات الطلبة يمكن تطبيقه بشكل أفضل وأسهل بكثير باستخدام جملة Select Case

سوف نقوم بتطبيق المثال مرة أخرى باستخدام جملة Select case ثم نقوم بالتعليق على المثال وشرح الملاحظات :

 

obkVpd.jpg

 

الشرح :

 

سنتحدث عن ما يخص جملة Select case

1 - بدأت الجملة بكلمة Select case ثم اسم المتغير الذى سيتم تتبع حالته .

2 - الحالة الأولى قيمة المتغير التى تم إدخالها فى صندوق النصوص هى بين صفر ، 49

3 - ظهور صندوق رسالة يفيد أن الطالب راسب

4 - يتم إدخال قيمة كل حالة وهكذا فى جميع الحالات بنفس الطريقة

 

الملاحظات :

 

1 - تبدأ الجملة بكلمة Select case وتنتهى بجملة

End select

2 - تم وضع الجملة الآتية فى بداية الكود

On Error GoTo mistake    

ومعناها

ومعناها أنه فى حالة وجود أى خطأ يتم الانتقال إلى العنوان Mistake وذلك تحسبا لقيام المستخدم بإدخال قيمة نصية وبالتالى يصعب اختبارها وفى هذه الحالة سوف يتم نقل الكود للخطوة الأخيرة والتى يظهر بها صندوق نص يفيد أن المستخدم لم يدخل قيمة عددية وعليه إعادة إدخال قيمة عددية ليتم اختبارها .

 

وفى هذه الحالة سيتم إعادته مرة أخرى للبداية إلى العنوان Start

3 - يمكن تسمية العناوين بأى اسم

 مثال

 (X – Y – Z – Yasser ) ولكن يفضل أن يكون

 الاسم معبرا .

4 - نلاحظ أننا وضعنا مدى فى قيم المتغير فى خطوات الجملة وهذا ليس شرطا بل يمكن وضعه قيمة قيمة ولكن سيكون ذلك تطويلا لا طائل منه مثل التالى

Case 1

Case 2

Case 3

 

Case 100

 

مرفق ملف pdf

به كامل الدرس

وتقبلوا منى وافر الاحترام والتقدير

الدرس 7.rar

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

الدرس الثامن

 

جملة Do While Loop

 

تُستخدم العبارة Do Loop لتنفيذ العبارات ضمنها، مادام الشرط المحدد محققاً.

مثال

تعد حلقة Do.Loop التالية من 1 وحتى 1000 :

Dim Counter
Counter=1
Do While Counter < 1001
        Counter = Counter + 1
Loop

ملاحظات :

1 - يتم تجهيز المتغير Counter بإسناد القيمة الابتدائية 1 اليه ، ثم تبدأ بعدها حلقة DoWhile.Loop

2 - يتحقق السطر الأول من أن قيمة  Counter أصغر من ١٠٠١  فإذا كان الأمر كذلك، تنفذ العبارات الواقعة بين السطر DoWhile والسطر Loop وفي مثالنا هذا ، توجد عبارة واحدة بين هذين السطرين

Counter = Counter +1

والتي تزيد قيمة العداد Counter بمقدار 1

3 - يعود البرنامج بعد ذلك إلى السطر Do While ويتحقق من قيمة العداد Counter والتي تساوى الى الآن 2

4 - لهذا فسوف يعاد تنفيذ العبارة الواقعة بين السطر Do While والسطر Loop وتستمر المعالجة حتى تصبح قيمة  Counter مساوية إلى 1001 وعندها يختل الشرط ويستأنف تنفيذ البرنامج بدءا من العبارة التي تلي السطر Loop

 

جملة Do-Loop-While

 

العبارات ضمن الحلقة Do While.Loop في الفقرة السابقة قد تنفذ أو لا تنفذ ، تبعاً لتحقيق الشرط. فمثلاً العبارات في حلقة DoWhile.Loop التالية لن تنفذ أبداً 

Dim Counter
Counter = 2000
Do While Counter < 1001
     Counter = Counter + 1
Loop

فعندما يتحقق البرنامج من السطر DoWhile فإنه سيكتشف أن Counter تساوى 2000

ولهذا فلن تنفذ العبارة الواقعة بين السطر DoWhile والسطر Loop

يتطلب البرنامج أحياناً الدخول ضمن الحلقة لمرة واحدة على الأقل دون تحقيق أي شرط

لذلك تُستخدم الحلقة Do.Loop While مثل هذه الحاله

Dim Counter
Counter = 2000
Do
   Counter = Counter + 1
Loop While Counter < 1001

ينفذ البرنامج العبارات الواقعة بين السطر Do والسطر Loop While مهما تكن الأحوال

وبعد ذلك يحدد البرنامج إذا كان الشرط محققاً (أي Counter أصغر من 1001 ) يعيد البرنامج تكرار تنفيذ الحلقة إذا تحقق الشرط وبالتالي يعيد تنفيذ العبارات الواقعة بين السطر Do والسطر Loop While

أما إذا اختل الشرط (أي Counter ليست أصغر من 1001 ) فعندها يستأنف التنفيذ من العبارة التي تأتي مباشرة بعد السطر Loop While

وفى المثال التالى تعد جملة Do.Loop While من 50 الى 200

Dim Counter
Counter = 50
Do
   Counter = Counter + 1
Loop While Counter < 201

العبارة Exit DO

 

تنتهي الحلقة DoWhile.Loop باستخدام Exit DO

مثال :

Dim I
I = 1
Do While I < 10001
    (txtResult.Text = Str(I
I = I + 2
If I > 500 Then
    Exit Do
   End If
Loop

تعد الحلقة السابقة بدءاً من الواحد وبزيادة قدرها 2 وينتهى تنفيذ الحلقة عندما تصبح قيمة  I أكبر من 500 

 

الحلقة اللامنتهية

 

قد تقع أحياناً في خطأ يشبه ذلك المبين في الحلقة التالية :

Dim I
I = 1
Do While I < 10001
    (txtResult.Text = Str(I
     If I > 500 Then
     Exit Do
    End If
Loop

نلاحظ أننا نسينا كتابة العبارة التالية:

I = I + 2

تبقى قيمة Counter ثابتة في الحلقة Do While.Loop السابقة  (I = 1 ) وهذا بسبب نسيان زيادة قيمته. يبقى البرنامج في هذه الحالة ضمن الحلقة إلى اللانهاية لأن قيمة I دوماً أصغر من 1001 ولكن تكون أبداً أكبر من 500 بل في الواقع تساوي 1 على الدوام

 

 

الحلقة For Next التكرارية

 

تعتبر جملة For Next وسيلة أخرى لصنع الحلقات التكرارية

مثال

تعد الحلقة التالية من 1 الى 100

Dim7 I
For I = 1 to 100 Step 1
      (txtMyTextArea.Text = Str(I
Next

أما للتعداد من 1 وحتى 100 وبخطوة زيادة في كل مرة قدرها 2 فتستطيع استخدام الحلقة For Next التالية :

Dim I
For I = 1 to 100 Step 2
      (txtMyTextArea.Text = Str(I
Next

تعد هذه الحلقة بالشكل التالي 1 ، 3 ، 5 ، .... 99

 

تساوي قيمة Step في الحالة الافتراضية أي عند تجاهل كتابتها الى 1 وبالتالي فالحلقتين التاليين متشابهان

 

الحلقة الأولى

Dim I
For I = 1 to 100 Step 1
      (txtMyTextArea.Text = Str(I
Next

الحلقة الثانية

Dim I
For I = 1 to 100
      (txtMyTextArea.Text = Str(I
Next

العبارة   Exit For

 

تستطيع الخروج من الحلقة For.Next باستخدام عبارة Exit For

مثال

Dim I
For I = 1 to 1000
       (txtResult.Text = Str(I
      If I = 500 Then
         Exit For
     End If
Next

يعد جزء البرنامج هذا بدءاً من الواحد وبزيادة قدرها 1 للمتغير Z مع كل تكرار للحلقة

يتحقق شرط عبارة If الداخلية عندما تصبح قيمة I مساوية إلى 500 ونتيجة ذلك تنفذ العبارة Exit For التي تنهي بدورها تنفيذ الحلقة For.Next قبل انتهاء الحلقة

 

الدالة Inputbox

 

تستخدم فى إدخال بيانات بواسطة المستخدم من خلال مستطيل يطلب منه إدخال البيان المطلوب .

مثل

إدخال معدل الضريبة الكلى يتم حساب الضرائب التي تستقطع من العاملين

أو إدخال الراتب الاساسى لموظف حساب صافى مستحقاته بعد إضافة الحوافز والمكافآت وخصم الضريبة والاستقطاعات

 

وتأخذ هذه الدالة الشكل التالي :

 

الشكل العام للدالة Inputbox

 

br2rj1.jpg

 

مثال :

 

lJU3Jq.jpg

 

 

 

 

الدرس 8.rar

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

الاخ \ محمود الشريف

مجهود ممتاز جذاك الله خير عنه

لما اشاهد الموضوع الا الان لانقطاع النت لمدة شهر ونصف بسبب السيستم

ونتمنى تثبيت الموضوع لاستفادة عدد اكبر 

رابط هذا التعليق
شارك

أخى فى الله

الأستاذ القدير // مجدى يونس

بارك الله فيكم وجزاكم الله خير الجزاء

وحمد لله على عودة النت الذى كان سببا فى عدم رؤياكم 

والإطمئنان عليكم 

شاكرا لكم ثناؤكم على الموضوع 

وتقبلوا منى وافر الاحترام والتقدير

  • Like 1
رابط هذا التعليق
شارك

مجهود جبار حقيقة ومعلومات جملية لامثالنا المبتدئين

بارك الله فيك اخ محمود

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه



×
×
  • اضف...

Important Information