إبراهيم ابوليله قام بنشر سبتمبر 17, 2015 الكاتب قام بنشر سبتمبر 17, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الدرس السادس 6-Variables المتغيرات بصراحة كده الموضوع ده كبير ولكن انا اخدت الى يمشينا وميعطلناش لاننا زى مقولنا اننا مش مطلوب مننا نكون محترفين على العموم نبدأ الدرس شروط تسمية المتغيرات : طبعا لازم نعرف اننا علشان نستخدم المتغيرات داخل الاكواد فلازم نقوم باعطاء كل متغير اسم يعبر عنه ازاى يعنى يعنى مثلا انت عايز تعبر عن متغير عدد او نصى او تاريخ يبقى لازم تعطى المتغير ده اسم معين الاسم ده بقى 1-يجب الا يبدأ برقم يعنى مينفعش نسمى المتغير بالشكل ده 12345 او 12hima على سبيل المثال 2-ان ممكن تستخدم الارقام فى تسمية المتغير ولكن يشترط ان يبدأ الاسم بحرف على سبيل المثال h123 3-لايجوز ان يحتوى اسم المتغير على مسافات او نقطه او رموز مثل(( ؟ ، * ، ) ، ( ، /......... إلخ )) وعلى سبيل المثال hima laila او hima.laila او hima-laila او hima*laila وهكذا ولكن يمكن استخدام المسافه السفليه _ على سبيل المثال hima_laila 4-يجب عدم تكرار تسمية المتغير انواع المتغيرات نشوف ازاى يتم الاعلان عن المتغير داخل الكود لو احنا عايزن نعلن عن متغير ذات قيمه عدديه يبقى هيكون بالشكل ده هنفترض ان اسم المتغير هو h Dim H As Integer ويجب ان نشير اناا يجب ان نبدأ بكلمة dim وذلك للاشاره باننا بصدد التعبير عن المتغيرات كما يمكننا التعبير عن اكثر من متغير فى سطر واحد فلو اننا نريد التعبير عن متغيرين فى نفس السطر وليكن اسمهما h و m يبقى سطر الكود هيكون بالشكل ده Dim H,m As Integer وهنا سنجد ان المتغير h تم تعريفه على انه من النوع Variant اما المتغير m فتم تعريفه على انه من النوع العددى ثم تأتى مرحلة اعطاء القيمه للمتغير الذى قمنا بتعريفه مثلا يتم اعطاء القيمه 10 للمتغير h والقيمه 20 للمتغير m وسيكون شكل الكود كالاتى Dim H,m As Integer h=10:m=20 واذا اردنا مثلا الاعلان عن متغير من نوع النصوص سيكون هكذا Dim h2 As String="hima" لاحظ اننا قمنا بتغير الاسم الى h2 لانه كما ذكرنا من قبل انه لايجب تكرار تسمية المتغير كما انه يجب الاشاره انه فى حالة الاعلان عن متغير من نوع النصوص يجب وضع الاسم بين علامتي التنصيص " ناخد ميثال على الماشى Sub Variables() Dim h As Integer h = 101 Dim h1 As Single h1 = 101.15 Dim h2 As String h2 = "ابراهيم محمد ابراهيم" Dim h3 As Date h3 = "24 / 9 / 1981" Dim h4 As Worksheet Set h4 = Sheet1 ' ............................................................ [a34] = h [a36] = h1 [a38] = h2 [a40] = h3 [a42] = h4.Name End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar تم تعديل سبتمبر 17, 2015 بواسطه إبراهيم ابوليله 1
ياسر خليل أبو البراء قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 أخي الحبيب إبراهيم وجب تصحيح نقط معينة وهو أنه لا يجوز الإعلان عن متغير وتعيين قيمة له في نفس السطر Dim H As Integer=10 يجوز ذلك في لغة الفيجوال بيزيك دوت نت أما في VBA سيعطيك خطأ نقطة أخرى بالنسبة للسطر Dim H,m As Integer هنا لم يتم الإعلان عن المتغيرين من النوع عدد ..فقط المتغير m هو المتغير العددي أما المتغير H في هذه الحالة يعتبر من النوع Variant للتأكد من صحة مقولي قم بنسخ الكود التالي في موديول Sub Test() Dim H, m As Integer End Sub قم بوضع مؤشر الماوس في سطر End Sub اضغط F9 لوضع نقطة وقوف BreakPoint سيكون لونها باللون الأحمر الغامق روح لقايمة View وأظهر نافذة Locals ثم قم بتنفيذ الكود ستجد في النافذة تفاصيل كل متغير أرجو أن أكون قد وفقت في توصيل المعلومة 6
إبراهيم ابوليله قام بنشر سبتمبر 17, 2015 الكاتب قام بنشر سبتمبر 17, 2015 اخى واستاذى ياسر بالفعل كما قلت انه من الخطأ التعبير فى لغة vba عن المتغير واعطاءه قيمة فى نفس السطر ............................................................ اما بخصوص الإعلان عن المتغيرين من النوع عدد ..فقط المتغير m هو المتغير العددي أما المتغير H في هذه الحالة يعتبر من النوع Variant فقد حاولت التطبيق ولكنى فشلت فحينما وضع مؤشر الماوس فى سطر الكود وعند الضغط على f9 ظهرت لى هذه الرساله على العموم انا اسعدنى جدا متابعتك للموضوع علشان لو فيه توضيح او اخطاء تلحقنا فيها منتحرمش منك ياريس تقبل تحياتى 3
محمد حسن المحمد قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 السلام عليكم: جزاكم الله خيراً أساتذتنا الكرام قال الله تعالى :" وفوق كل ذي علمٍ عليمٌ "...فالعلم بحر مداه واسع وغوره عميق وشاطئه طويل ...ونحن كمن يرسو على ضفة ..أمام علم الله الواسع ليس العيب أن نقع في الخطأ بل العيب الاستمرار فيه أشكر للأستاذ الكريم ياسر متابعته وتدقيقه وتصحيحه،كما أشكر للأستاذ إبراهيم مسارعته لتعديل النقاط التي وقع فيها لبس . وبذلك ينال الدارسون أمثالي حصتهم من العلم دون أي إشكال تقبلوا تحياتنا العطرة. 4
ياسر خليل أبو البراء قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 وضع مؤشر الماوس فى سطر الكود راجع المشاركة ستجدني قلت ضع موشر الماوس في آخر سطر ألا وهو End Sub تقبلوا تحياتي وكل عام وأنتم بخير وأراكم إن شاء الله بعد أجازة العيد في رعاية الله 3
عبد العزيز البسكري قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 السلام عليكم و رحمة الله و بركاته " ... ولا يظهر نور الفجر إلا بعد الظلام الحالك " ظلام غير الفاهمين أمثالي .. وَ رُبَّ ضارّة نافعة لولا الهفوة البسيطة لأستاذنا الفاضل ابراهيم أبو ليلة ما كنّا لنتعلم و نفهم تفاصيل أخرى من أستاذنا الغالي ياسر خليل أبو البراء بارك الله فيكم جميعًا .. جزاكم الله خيرًا و زادها بميزان حسناتكم خالص احتراماتي 1
محمد حسن المحمد قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 السلام عليكم...تقبل الله طاعتكم إخوتي اﻷكارم جميعا بما أن أخي الحبيب ياسر أبو البراء قد ذكرنا بأن هناك عيد قادم ...اللهم أعده على بلاد المسلمين وقد أعزهم الله ونصرهم..واعلموا أنه ليس العيد لمن لبس الجديد بل العيد لمن خاف يوم الوعيد....أما أخي الحبيب عبد العزيز إذا كنت تقول عن نفسك غير فاهم فماذا تركت لي فأنا في السن أصبحت كهلا أما في الVba لا زلت طفلا صغيرا يحبو على ركبتيه...تقبلوا تحياتي وكل عام وأنتم إلى الله أقرب..عطلة وإجازة سعيدة لمن أراد استقبال العيد وعقبى لنا أن نفرح ذات يوم... 1
مختار البركاني قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 شكرا استاذنا القدير على الدروس الرائعة وفقك الله ونفع بك واود الاستفسار في هذا الموضع عن تحديد الخلايا التي تحتوي على قيم . وتقبل خالص تحياتي أخى مختار ممكن التوضيح اكتر عما تريد الاستفسار عنه تقبل تحياتى نعم استاذي القدير يبدوا اني عملت اقتباس ولم يتم او اني اضفت رد دون اقتباس الموضوع عموما استاذي بالنسبة لموضوع تحديد الخلايا او تلوينها او تلوين حدود الخلايا اردت ان استفسر عن امكانية تحديد او تلوين الخلايا بشكل تلقائي عند احتوائها على قيمة فقط
إبراهيم ابوليله قام بنشر سبتمبر 17, 2015 الكاتب قام بنشر سبتمبر 17, 2015 وضع مؤشر الماوس فى سطر الكود راجع المشاركة ستجدني قلت ضع موشر الماوس في آخر سطر ألا وهو End Sub تقبلوا تحياتي وكل عام وأنتم بخير وأراكم إن شاء الله بعد أجازة العيد في رعاية الله اخى ياسر بالفعل طلع من النوع Variant وبكده ضفت معلومه جديده الى الا وهى ايه ياريت لو كانت صح او غلط ترد عليا علشان اضيف المعلومه الى قاموسى ان فى حالة عدم كتابة نوع المتغير يتم ارجاع الوضع الافتراضى للمتغير وتعريفه على انه من النوع Variant .................................... وياريت يا اخ ياسر لو تضيف الينا شويه معلومات بسيطه عن المتغيرات خصوصا Variant لاننى بصراحه معنديش معلومات كافيه عنها تقبل تحياتى 1
إبراهيم ابوليله قام بنشر سبتمبر 21, 2015 الكاتب قام بنشر سبتمبر 21, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الدرس السادس 7-Conditions الشروط وسوف نتناول فى هذه الدرس الاتى انشاء الشرط بواسطة if استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if استخدام Select Case بعض الشروط التى شائعة الاستخدام ........................................... انشاء الشرط بواسطة if يتم انشاء الشرط بواسطة if وطالما كان هناك شرط اذا لابد ان تكون هناك نتيجه تتحقق بتوافر الشرط ام بعدم توافره ففى حاله توافر الشرط نستخدم كلمة then وفى حالة عدم توافر الشرط نستخدم كلمة else ثم فى النهاية لابد ان يتم اقفال الشرط if ب end if If الشرط Then ماذا سيحدث فى حالة تحقق الشرط Else فى حالة عدم تحقق الشرط ماذا سيحدث فى حالة عدم تحقق الشرط End If نهاية قاعدة الشرط مــثــــــــــــــال نريد فى حالة وجود الرقم 10 فى الخليه a17 يتم كتابة الرقم صحيح فى الخليه b17 واذا كان الرقم لايساوى الرقم 10 يتم كتابةالرقم خطأ فى الخليه b17 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions() If [a17] = 10 Then ' A17 هنا نقول انه فى حالة وجود الرقم 10 فى الخليه 'Then يتم ' الرقم صحيح B17 اعطاء الخليه [B17] = "الرقم صحيح" Else 'Else فى حالة عدم وجود ارقام غير الرقم10 ' الرقم خطأ A17 اعطاء الخليه [B22] = "الرقم خطأ" End If 'End If..... IFنهاية الشطر End Sub استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if مـثـــــــــــــــــــال نريد اذا كانت الخليه a23 بها الرقم 10 يتم كتابة a10 فى الخليه a24 واذا كانت a23 بها الرقم 20 يتم كتابة a20 فى الخليه A24 واذا كانت a23 بها الرقم 30 يتم كتابة a30 فى الخليه A24 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions1() If Range("A23") = 10 Then Range("A24") = "a10" ElseIf Range("A23") = 20 Then Range("A24") = "a20" ElseIf Range("A23") = 30 Then Range("A24") = "a30" Else Range("A24") = "خطأ" End If End Sub استخدام Select Case يمكننا استخدا مها فى حالة توافر اكثر من شرط Select Case كتابة معطيات التى يبنى عليها الشرط Case Is الشرط الاول النتيجه Case Is الشرط الثانى النتيجه Case Is الشرط الثالث النتيجه Case Else ' فى حالة عدم تحقق اى من الشروط النتيجه End Select ' Select Case نهاية مـثـــــــــــــــــــال نريد اذا كانت الخليه a45 بها الرقم 10 يتم كتابة a10 فى الخليه a46 واذا كانت a45 بها الرقم 20 يتم كتابة a20 فى الخليه A46 يتم كتابة a30 فى الخليه A46 شاهد الصوره قوم بانشاء قاعده بيانات مكون من عمود واحد به اسماء معينه من A الى D ونريد عند كتابة اسم معين فى الخليه A22 واذا كان هذا الاسم موجود ضمن الاسماء يتم كتابة الاسم صحيح فى الخليه B22 واذا كان غير موجود ينم كتابة الاسم خطأ تم تعديل سبتمبر 21, 2015 بواسطه إبراهيم ابوليله 2
إبراهيم ابوليله قام بنشر سبتمبر 21, 2015 الكاتب قام بنشر سبتمبر 21, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الدرس السابع 7-Conditions الشروط وسوف نتناول فى هذه الدرس الاتى انشاء الشرط بواسطة if استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if استخدام Select Case استخدام or مع if استخدام and مع if بعض الشروط شائعة الاستخدام ........................................... انشاء الشرط بواسطة if يتم انشاء الشرط بواسطة if وطالما كان هناك شرط اذا لابد ان تكون هناك نتيجه تتحقق بتوافر الشرط ام بعدم توافره ففى حاله توافر الشرط نستخدم كلمة then وفى حالة عدم توافر الشرط نستخدم كلمة else ثم فى النهاية لابد ان يتم اقفال الشرط if ب end if If الشرط Then ماذا سيحدث فى حالة تحقق الشرط Else فى حالة عدم تحقق الشرط ماذا سيحدث فى حالة عدم تحقق الشرط End If نهاية قاعدة الشرط مــثــــــــــــــال نريد فى حالة وجود الرقم 10 فى الخليه a17 يتم كتابة الرقم صحيح فى الخليه b17 واذا كان الرقم لايساوى الرقم 10 يتم كتابةالرقم خطأ فى الخليه b17 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions() If [a17] = 10 Then ' A17 هنا نقول انه فى حالة وجود الرقم 10 فى الخليه 'Then يتم ' الرقم صحيح B17 اعطاء الخليه [B17] = "الرقم صحيح" Else 'Else فى حالة عدم وجود ارقام غير الرقم10 ' الرقم خطأ A17 اعطاء الخليه [B22] = "الرقم خطأ" End If 'End If..... IFنهاية الشطر End Sub استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if مـثـــــــــــــــــــال نريد اذا كانت الخليه a23 بها الرقم 10 يتم كتابة a10 فى الخليه a24 واذا كانت a23 بها الرقم 20 يتم كتابة a20 فى الخليه A24 واذا كانت a23 بها الرقم 30 يتم كتابة a30 فى الخليه A24 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions1() If Range("A23") = 10 Then Range("A24") = "a10" ElseIf Range("A23") = 20 Then Range("A24") = "a20" ElseIf Range("A23") = 30 Then Range("A24") = "a30" Else Range("A24") = "خطأ" End If End Sub استخدام Select Case يمكننا استخدا مها فى حالة توافر اكثر من شرط Select Case كتابة معطيات التى يبنى عليها الشرط Case Is الشرط الاول النتيجه Case Is الشرط الثانى النتيجه Case Is الشرط الثالث النتيجه Case Else ' فى حالة عدم تحقق اى من الشروط النتيجه End Select ' Select Case نهاية مـثـــــــــــــــــــال نريد اذا كانت الخليه a45 بها الرقم 10 يتم كتابة a10 فى الخليه a46 واذا كانت a45 بها الرقم 20 يتم كتابة a20 فى الخليه A46 يتم كتابة a30 فى الخليه A46 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions2() Select Case Range("A45") Case Is = 10 Range("A46") = "a10" Case Is = 20 Range("a46") = "a20" Case Is = 30 Range("a46") = "a30" Case Else Range("a46") = "خطأ" End Select End Sub استخدام or مع if مـثـــــــــــــــــــال قوم بانشاء قاعده بيانات مكون من عمود واحد به اسماء معينه من A الى D ونريد عند كتابة اسم معين فى الخليه a59 واذا كان هذا الاسم موجود ضمن الاسماء يتم كتابة الاسم صحيح فى الخليه B59 واذا كان غير موجود يتم كتابة الاسم خطأ طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions3() If [A59] = [a54] Or [A59] = [A55] Or [A59] = [A56] Or [A59] = [a57] Then ' A59 هنا نقل انه فى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' A54--او-A55--او-A56--او-A57 'Then يتم ' الاسم صحيح B59 اعطاء الخليه [b59] = "الاسم صحيح" Else 'Else فى حالة عدم وجود الاسم ضمن الاسماء يتم ' الاسم خطأ B59 اعطاء الخليه [b59] = "الاسم خطأ" End If 'End If..... IFنهاية الشطر End Sub استخدام and مع if مـثـــــــــــــــــــال نقوم بانشاء قاعده بيانات مكونه من عمودين واحد به اسماء معينه من A الى D والثانى به ارقام من 1 الى 4 ونريد عند كتابة اسم معين فى الخليه A68 وكتابة رقم معين فى الخليه b68 واذا كان هذا الاسم يخص الرقم يتم كتابة الاسم صحيح فى الخليه B59 واذا كان لا يخص هذا هذا الرقم يتم كتابة الاسم خطأ طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions4() If ([A68] = [a63] And [b68] = [b63]) Or ([A68] = [a64] And [b68] = [b64]) Or _ ([A68] = [a65] And [b68] = [b65]) Or ([A68] = [a66] And [b68] = [b66]) Then ' A68 هنا نقل انه فى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' A63--او-A64--او-A65--او-A66 ' b68 وفى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' b63--او-b64--او-b65--او-b66 'Then يتم ' الاسم صحيح B69 اعطاء الخليه [b69] = "الاسم صحيح" Else 'Else فى حالة عدم وجود الاسم ضمن الاسماء يتم ' الاسم خطأ 659 اعطاء الخليه [b69] = "الاسم خطأ" End If 'End If..... IFنهاية الشطر End Sub بعض الشروط شائعة الاستخدام If IsNumeric(Range("A75")) = True Then ' هنا نشترط ان تكون القيمه عدديه If IsNumeric(Range("A76")) Then ' هنا نشترط ان تكون القيمه عدديه If IsNumeric(Range("A77")) = FALSE Then ' هنا نشترط ان تكون القيمه غير عدديه If NOT IsNumeric(Range("A78")) Then ' هنا نشترط ان تكون القيمه غير عدديه--اى نصيه If IsDate(Range("79")) Then ' هنا نشترط ان تكون القيمه عباره عن تاريخ If IsEmpty(Range("80")) Then ' هنا نشترط عدم ادخال شىء اى ان تكون الخايه فارغه Sub ConditionsE() If IsNumeric(Range("A75")) = True Then ' هنا نشترط ان تكون القيمه عدديه MsgBox " قيمة الخليه A75 عدديه " End If If IsNumeric(Range("A76")) = True Then ' هنا نشترط ان تكون القيمه عدديه MsgBox " قيمة الخليه A76 عدديه " End If If IsNumeric(Range("A77")) = False Then ' هنا نشترط ان تكون القيمه غير عدديه MsgBox " قيمة الخليه A77 غير عدديه " End If If Not IsNumeric(Range("A78")) Then ' هنا نشترط ان تكون القيمه غير عدديه MsgBox " قيمة الخليه A78 غير عدديه " End If If IsDate(Range("A79")) Then ' هنا نشترط ان تكون القيمه تاريخ MsgBox " قيمة الخليه A79 تاريخ " End If If IsEmpty(Range("A80")) Then ' هنا نشترط ان تكون الخليه فارغه MsgBox " قيمة الخليه A80 فارغه " End If End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar تم تعديل سبتمبر 21, 2015 بواسطه إبراهيم ابوليله 2
محمد الورفلي1 قام بنشر سبتمبر 21, 2015 قام بنشر سبتمبر 21, 2015 السلام عليكم استاذ ابراهيم دروس ممتعة بالذات . درس الشروط ... مزيد من الامثلة بارك الله فيك
مختار حسين محمود قام بنشر سبتمبر 21, 2015 قام بنشر سبتمبر 21, 2015 السلام عليكم بارك الله فيك أخى ابراهيم على هذا المجهود الرائع فى ميزان حسناتك باذن الله اضافة بسيطة للشروط هناك If IsError لاختبار ما اذا كانت الخلية بها خطأ مثل #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL! Sub Mokhtar_IsError() If IsError(Range("C1").Value) Then MsgBox "'C1 قيمة خاطئة فى الخلية " Else MsgBox "'C1 قيمة صحيحة فى الخلية " End If End Sub يمكن تعديل الكود السابق ونستخدم Select Case Sub Mokhtar_IsError2() Dim msg As String If IsError(Range("C1").Value) Then Select Case Range("C1").Value Case CVErr(xlErrDiv0): msg = "#DIV/0!" Case CVErr(xlErrNA): msg = "#N/A" Case CVErr(xlErrName): msg = "#NAME?" Case CVErr(xlErrNull): msg = "#NULL!" Case CVErr(xlErrNum): msg = "#NUM!" Case CVErr(xlErrRef): msg = "#REF!" Case CVErr(xlErrValue): msg = "#VALUE!" End Select MsgBox msg & " " & "نوع الخطأ فى الخلية " Else MsgBox "لا توجد أى قيم خاطئة فى الخلية " End If End Sub لو عايز تجرب الكود اكتب فى 'C1 المعادلة دى 5*moktar= النتجة قيمة خطأ لاننا ضربنا نص فى رقم تحياتى
إبراهيم ابوليله قام بنشر سبتمبر 22, 2015 الكاتب قام بنشر سبتمبر 22, 2015 السلام عليكم استاذ ابراهيم دروس ممتعة بالذات . درس الشروط ... مزيد من الامثلة بارك الله فيك اخى محمد صبرا فسوف نتعرف فى الدروس القادمه على كيفية استخدام الشروط مع الرسائل ومع الحلقات التكراريه تقبل تحياتى 1
إبراهيم ابوليله قام بنشر سبتمبر 22, 2015 الكاتب قام بنشر سبتمبر 22, 2015 اخى مختار منور الموضوع ومشكور على الاضافة الجميله دى انا شخصيا عجبنى الكود الاخير مش بقول متحرمناش من افكارك تقبل تحياتى 1
إبراهيم ابوليله قام بنشر سبتمبر 22, 2015 الكاتب قام بنشر سبتمبر 22, 2015 (معدل) السلام عليكم ورحمة الله وبركاته اخوانى الافاضل نودان نذكر الاخوه بالدعاء لاخينا واستاذنا الفاضل عماد الحسامى رحمه الله واعترافا منا بما قدمه لنا استاذنا عماد وبما ساهم به فى نشر العلم وبما كان له من فضل علينا فيما نحن عليه ارفق اليكم شرح الاستاذ عماد لكيفية استخدام الشروط فى vba تقبلوا تحياتى HOSAMI IF THEN.rar تم تعديل سبتمبر 22, 2015 بواسطه إبراهيم ابوليله
عبد العزيز البسكري قام بنشر سبتمبر 26, 2015 قام بنشر سبتمبر 26, 2015 السلام عليكم و رحمة الله و بركاته سلسلة بمنتهى الرّوعة .. استفاد منها الكثيرين أمثالي ..فلا تبخل علينا أستاذنا الغالي " ابراهيم أبو ليله " بسلاسة شروحاتك و مواضيعك الشيّقة ..نحن بانتظارك.. بارك الله فيك وزادعا بميزان حسناتك وافر احتراماتي
إبراهيم ابوليله قام بنشر سبتمبر 28, 2015 الكاتب قام بنشر سبتمبر 28, 2015 اخى عبد العزيز اشكرك على المتابعه المستمره للموضوع وبالفعل ان شاء الله يتم استكمال الدروس رغم قله المشاهده والردود التى احيانا يكون لها تاثير سلبى ولكن مستمرون باذن الله حت انتهاء الفكره التى انشئنا الموضوع من اجلها تقبل تحياتى
محمد حسن المحمد قام بنشر سبتمبر 28, 2015 قام بنشر سبتمبر 28, 2015 السلام عليكم ورحمة الله وبركاته موضوع هام نرجو متابعته بنفس الحماسة التي بدأتم بها ....نحن بانتظار المزيد...والله كريم يحب الكريم تقبل تحياتي العطرة... هدية أرجو أن تعجبك لو تابعتني بموضوع فكرة تدوين الأبحاث الجديدة لوجدتها بانتظارك ...هدية لكم ج1 1
إبراهيم ابوليله قام بنشر سبتمبر 28, 2015 الكاتب قام بنشر سبتمبر 28, 2015 السلام عليكم ورحمة الله وبركاته موضوع هام نرجو متابعته بنفس الحماسة التي بدأتم بها ....نحن بانتظار المزيد...والله كريم يحب الكريم تقبل تحياتي العطرة... هدية أرجو أن تعجبك لو تابعتني بموضوع فكرة تدوين الأبحاث الجديدة لوجدتها بانتظارك ...هدية لكم ج1 اخى محمد مشكورا على الهديه الجميله الفكره اكثر من رائعه انا بعملها على ملف اكسيل وانت تعملها على بى دى اف كده يبقى محدش ليه حجه فى انه يتعلم منتحرمش من خدماتك ربنا يخليك لينا وتفضل منور المنتدى كده على طول تقبل تحياتى 1
إبراهيم ابوليله قام بنشر سبتمبر 28, 2015 الكاتب قام بنشر سبتمبر 28, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الدرس السادس 8-Loop الحلقات التكراريه وسوف نتناول فى هذه الدرس الاتى لماذا نستخدم الحلقات التكراريه انواع الحلقات التكراريه الخروج من الحلقه التكراريه كيفية استخدام اكثر من حلقه داخل الكود ......................................................................... لماذا نستخدم الحلقات التكراريه انا شخصيا بعتبر الحلقات التكراريه واحده من اهم المواضيع التى يجب معرفتها حينما يتم الدخول الى عالم vba يتم استخدام الحلقات التكراريه لتنفيذ اكثر من امر فى وقت واحد مما يوفر الوقت ولتوضيح ذلك راجع المثال الاتى نفترض اننا لدينا مجموعه من الارقام مثلا 7 ارقام (1-2-3-4-5-6-7) ونريد ادخال هذه الارقم فى السطر الثامن بداية من العمود الخامس اى العمود e فكيف سنقوم بعمل ذلك طبعا الى معندوش فكره عن كيفية استخدام الحلقات التكراريه هيستخدم الكود الاتى Sub enterdata() [e8] = "1" [f8] = "2" [g8] = "3" [h8] = "4" [i8] = "5" [j8] = "6" [k8] = "7" End Sub اى سيقوم بالاشاره الى كل خليه على حده واعطاء كل خليه قيمتها كما هو متضح من الصوره وبالتالى بعد كتابة هذه الكود وتخصيص زر لتنفيذه او بالوقوف داخل الكود بالماوس ثم الضغط على f5 سوف يتم ملئ الخلايا بالبيانات كما فى الصوره دعونا الان نتطرق الى كيفيه تنفيذ ذلك بالحلقات التكراريه انواع الحلقات التكراريه 1- FOR 2- WHILE 3- DO ................................................................................................................................................................................................................................................................ الحلقه الاولى for …next هذه الحلقه تبدأ بكلمة FOR وتنتهى بكلمة NEXT وفيما بين الكلميتن هو ما سوف يتم تنفيذه للتوضيح اكتر For بداية الحلقه = اسم الحلقه To طريقه تنفيذ الحلقه] نهايةالحلقه] [ماسيتم تنفيذه داخل الحلقه] [Exit For] الخروج من الحلقه Next استكمال الحلقه حت النهاية وهنا يجب ان نشير الى ان اى حلقه تكراريه لابد ان يكون لها اسم يعبر عنها وليكن مثلا H ثم يجب ان يكون لها بدايه ولها نهايه وليكن ستبدأ من 1 وتنتهى فى 10 ثم سيكون هناك ما ينفذ داخل الحلقه والمقصود بطريقة تنفيذ الحلقه اى هل سيتم تنفيذها خطوه بخطوه وهذا هو الشائع فى الاستخدام ام كل خطويتن ام كل ثلاث خطوات وهكذا ولتطبيق ذلك سنتعرف على كيفية استخدام الحلقه for فى ادخال البيانات فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 26 بداية من العمود 8 كيف سنقوم بعمل ذلك 1-نعطى الحلقه اسم معين FOR H H 2-نحدد البدايه 8 ونحدد النهاية 11 FOR H =8 TO 11 لاحظ ان عدد الحلقات هنا 4 عباره عن 8و9و10و111 3-ماسيتم تنفيذه Cells(26, h) = h - 7 4-استكمال الحلقه NEXT وبالتالى سيكون شكل الكود كالاتى Sub enterdata_for() For h = 8 To 11 ' h----- متغير تم تعريه على انه يبدأ من 8 وينتهى عند 11 ' اى ان عدد حلقاته هى 4 عباره عن 8ثم9ثم10ثم11 Cells(26, h) = h - 7 ' هنا يتم تنفيذ الكود ' هنا نقول ان الخليه التى تقع فى السطر26 وفى العمود من8الى11 ' مطروحا منه 7 ارقام ليصبح قيمة المتغير تساوى1hتساوى قيمة المتغير ' Cells(26, H)--- الرقم26هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(26, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ على الاعمده من 8الى11 لانها تساوى قيمة المتغير ' h-7 يبدأ من الرقم8وينتهى عند الرقم11 فحينما ينم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تبدأ من الرقم1وتنتهى عند الرقم4 'وبذلك يكون تنفيذ الكود كالاتى ' الخليه فى السطر26وفى العمود5تساوى الرقم1ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم2ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم3ثم ' وهكذا حت نصل الى اخر الحلقه التكراريه اى العمود11 Next ' hتكرار عمل الكود حتى نهاية المتغير ' next---- forاقفال الحلقه التكراريه End Sub تم تعديل سبتمبر 28, 2015 بواسطه إبراهيم ابوليله 1 1
إبراهيم ابوليله قام بنشر سبتمبر 30, 2015 الكاتب قام بنشر سبتمبر 30, 2015 الاخوه الافاضل يتم استكمال الدرس السادس 8-Loop الحلقات التكراريه فى المشاركه التاليه
إبراهيم ابوليله قام بنشر سبتمبر 30, 2015 الكاتب قام بنشر سبتمبر 30, 2015 السلام عليكم ورحمة الله وبركاته الدرس السادس 8-Loop الحلقات التكراريه وسوف نتناول فى هذه الدرس الاتى لماذا نستخدم الحلقات التكراريه انواع الحلقات التكراريه الخروج من الحلقه التكراريه كيفية استخدام اكثر من حلقه داخل الكود ......................................................................... لماذا نستخدم الحلقات التكراريه انا شخصيا بعتبر الحلقات التكراريه واحده من اهم المواضيع التى يجب معرفتها حينما يتم الدخول الى عالم vba يتم استخدام الحلقات التكراريه لتنفيذ اكثر من امر فى وقت واحد مما يوفر الوقت ولتوضيح ذلك راجع المثال الاتى نفترض اننا لدينا مجموعه من الارقام مثلا 7 ارقام (1-2-3-4-5-6-7) ونريد ادخال هذه الارقم فى السطر الثامن بداية من العمود الخامس اى العمود e فكيف سنقوم بعمل ذلك طبعا الى معندوش فكره عن كيفية استخدام الحلقات التكراريه هيستخدم الكود الاتى Sub enterdata() [e8] = "1" [f8] = "2" [g8] = "3" [h8] = "4" [i8] = "5" [j8] = "6" [k8] = "7" End Sub اى سيقوم بالاشاره الى كل خليه على حده واعطاء كل خليه قيمتها كما هو متضح من الصوره وبالتالى بعد كتابة هذه الكود وتخصيص زر لتنفيذه او بالوقوف داخل الكود بالماوس ثم الضغط على f5 سوف يتم ملئ الخلايا بالبيانات كما فى الصوره دعونا الان نتطرق الى كيفيه تنفيذ ذلك بالحلقات التكراريه انواع الحلقات التكراريه 1- FOR 2- WHILE 3- DO ................................................................................................................................................................................................................................................................ الحلقه الاولى for …next هذه الحلقه تبدأ بكلمة FOR وتنتهى بكلمة NEXT وفيما بين الكلميتن هو ما سوف يتم تنفيذه للتوضيح اكتر For بداية الحلقه = اسم الحلقه To طريقه تنفيذ الحلقه] نهايةالحلقه] [ماسيتم تنفيذه داخل الحلقه] [Exit For] الخروج من الحلقه Next استكمال الحلقه حت النهاية وهنا يجب ان نشير الى ان اى حلقه تكراريه لابد ان يكون لها اسم يعبر عنها وليكن مثلا H ثم يجب ان يكون لها بدايه ولها نهايه وليكن ستبدأ من 1 وتنتهى فى 10 ثم سيكون هناك ما ينفذ داخل الحلقه والمقصود بطريقة تنفيذ الحلقه اى هل سيتم تنفيذها خطوه بخطوه وهذا هو الشائع فى الاستخدام ام كل خطويتن ام كل ثلاث خطوات وهكذا ولتطبيق ذلك سنتعرف على كيفية استخدام الحلقه for فى ادخال البيانات فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 26 بداية من العمود 8 كيف سنقوم بعمل ذلك 1-نعطى الحلقه اسم معين FOR H H 2-نحدد البدايه 8 ونحدد النهاية 11 FOR H =8 TO 11 لاحظ ان عدد الحلقات هنا 4 عباره عن 8و9و10و111 3-ماسيتم تنفيذه Cells(26, h) = h - 7 4-استكمال الحلقه NEXT وبالتالى سيكون شكل الكود كالاتى Sub enterdata_for() For h = 8 To 11 ' h----- متغير تم تعريه على انه يبدأ من 8 وينتهى عند 11 ' اى ان عدد حلقاته هى 4 عباره عن 8ثم9ثم10ثم11 Cells(26, h) = h - 7 ' هنا يتم تنفيذ الكود ' هنا نقول ان الخليه التى تقع فى السطر26 وفى العمود من8الى11 ' مطروحا منه 7 ارقام ليصبح قيمة المتغير تساوى1hتساوى قيمة المتغير ' Cells(26, H)--- الرقم26هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(26, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ على الاعمده من 8الى11 لانها تساوى قيمة المتغير ' h-7 يبدأ من الرقم8وينتهى عند الرقم11 فحينما ينم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تبدأ من الرقم1وتنتهى عند الرقم4 'وبذلك يكون تنفيذ الكود كالاتى ' الخليه فى السطر26وفى العمود5تساوى الرقم1ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم2ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم3ثم ' وهكذا حت نصل الى اخر الحلقه التكراريه اى العمود11 Next ' hتكرار عمل الكود حتى نهاية المتغير ' next---- forاقفال الحلقه التكراريه End Sub ويكون ناتج الكود بهذا الشكل اما اذا اردنا تنفيذ الكود على الخلايا بشكل عمودى بدلا من الخلايا الافقيه بمعنى لو اننا اردنا مثلا تنفيذ نفس الكود على الخلايا من h23 الى h26 اى فى الخلايا h23 و h24 و h25 و h26 كيف سيكون شكل الكود الكود هيكون نفس الكود السابق ولكن ما سيختلف هو اننا سوف نعيد تغير قيمة المتغير h الخاص بالحلقه التكراريه ليصبح من 23 الى 26 ثم نقوم بتغير موضع المتغير h الخاص بالحلقه التكراريه من الصف الى العمود للتوضيح اكثر الفكره هكلها محصوره فى السطرين دول For h = 8 To 11 هنا طبعا قيمة المتغير h الخاص بالحلقه التكراريه من 8 الى 11 احنا عايزين نخليه يبقى من 23 الى 26 يبقى هيكون بالشكل ده For h = 23 To 26 وكمان فى السطر ده Cells(26, h) = h - 7 وطبعا احنا قولنا ان الجزئيه دى Cells(26 تعنى ان الكود سوف ينفذ على السطر 26 والجزئيه دى Cells( , h) تعنى انه هينفذ على العمود h وطبعا h احنا معرفينه على انه من8 الى 11 اى انه سينفذ على العمود 8 ثم العمود 9 ثم العمود10 ثم العمود11 .................................................................................................... طب حنا عايزين ننفذ الكود على العمود h اى العمود رقم 8 يبقى سطر الكود هيكون بالشكل ده Cells( , 8) وعلى السطور من 23 الى 26 وبما اننا عرفنا h على انه من 23 الى 26 يبقى سطر الكود هيصبح بالشكل ده Cells(h, ) وفى النهاية هنلاقى ان سطر الكود بالكامل بالشكل ده Cells(h,8 ) اى ان الكود سينفذ على السطور h الى احنا عرفناها على انها من 23 الى 26 وعلى العمود رقم 8 وبعد كده تأتى الجزئيه دى = h - 7 ولاننا كنا معرفين h يبدأ من الرقم 8 فطرحنا من h الرقم 7 للحصول على الرقم 1 الى هو اول رقم احنا عايزين ندخله فلا او خليه وبما اننا لسه بردو عايزين نخلى الرقم 1 هو اول رقم يتم ادخاله ولكننا قمنا بتغير قيمة المتغير h لتصبح من 23 وللحصول على الرقم 1 يبقى لابد اننا نطرح من المتغير h ما يعطينا الرقم 1 وبالتالى سنجد سطر الكود هيكون كده = h - 22 وفى النهاية سيكون شكل الكود كده Sub enterdata_for1() Dim h As Integer For h = 23 To 26 Cells(h, 8) = h - 22 Next End Sub ويكون ناتج الكود بهذا الشكل اتمنى ان اكون قد وفقت فى هذا الدرس انتظروا باقى الدروس تقبلوا تحياتى 1
إبراهيم ابوليله قام بنشر سبتمبر 30, 2015 الكاتب قام بنشر سبتمبر 30, 2015 (معدل) السلام عليكم ورحمة الله وبركاته الدرس السادس 8-Loop الحلقات التكراريه سوف يتم اضافة شرح حلقتين فى المشاركة التاليه الحلقه الثانيه While الحلقه الثالثه Do تقبلوا تحياتى تم تعديل سبتمبر 30, 2015 بواسطه إبراهيم ابوليله
إبراهيم ابوليله قام بنشر سبتمبر 30, 2015 الكاتب قام بنشر سبتمبر 30, 2015 السلام عليكم ورحمة الله وبركاته الدرس السادس 8-Loop الحلقات التكراريه وسوف نتناول فى هذه الدرس الاتى لماذا نستخدم الحلقات التكراريه انواع الحلقات التكراريه الخروج من الحلقه التكراريه كيفية استخدام اكثر من حلقه داخل الكود ......................................................................... لماذا نستخدم الحلقات التكراريه انا شخصيا بعتبر الحلقات التكراريه واحده من اهم المواضيع التى يجب معرفتها حينما يتم الدخول الى عالم vba يتم استخدام الحلقات التكراريه لتنفيذ اكثر من امر فى وقت واحد مما يوفر الوقت ولتوضيح ذلك راجع المثال الاتى نفترض اننا لدينا مجموعه من الارقام مثلا 7 ارقام (1-2-3-4-5-6-7) ونريد ادخال هذه الارقم فى السطر الثامن بداية من العمود الخامس اى العمود e فكيف سنقوم بعمل ذلك طبعا الى معندوش فكره عن كيفية استخدام الحلقات التكراريه هيستخدم الكود الاتى Sub enterdata() [e8] = "1" [f8] = "2" [g8] = "3" [h8] = "4" [i8] = "5" [j8] = "6" [k8] = "7" End Sub اى سيقوم بالاشاره الى كل خليه على حده واعطاء كل خليه قيمتها كما هو متضح من الصوره وبالتالى بعد كتابة هذه الكود وتخصيص زر لتنفيذه او بالوقوف داخل الكود بالماوس ثم الضغط على f5 سوف يتم ملئ الخلايا بالبيانات كما فى الصوره دعونا الان نتطرق الى كيفيه تنفيذ ذلك بالحلقات التكراريه انواع الحلقات التكراريه 1- FOR 2- WHILE 3- DO ................................................................................................................................................................................................................................................................ الحلقه الاولى for …next هذه الحلقه تبدأ بكلمة FOR وتنتهى بكلمة NEXT وفيما بين الكلميتن هو ما سوف يتم تنفيذه للتوضيح اكتر For بداية الحلقه = اسم الحلقه To طريقه تنفيذ الحلقه] نهايةالحلقه] [ماسيتم تنفيذه داخل الحلقه] [Exit For] الخروج من الحلقه Next استكمال الحلقه حت النهاية وهنا يجب ان نشير الى ان اى حلقه تكراريه لابد ان يكون لها اسم يعبر عنها وليكن مثلا H ثم يجب ان يكون لها بدايه ولها نهايه وليكن ستبدأ من 1 وتنتهى فى 10 ثم سيكون هناك ما ينفذ داخل الحلقه والمقصود بطريقة تنفيذ الحلقه اى هل سيتم تنفيذها خطوه بخطوه وهذا هو الشائع فى الاستخدام ام كل خطويتن ام كل ثلاث خطوات وهكذا ولتطبيق ذلك سنتعرف على كيفية استخدام الحلقه for فى ادخال البيانات فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 26 بداية من العمود 8 كيف سنقوم بعمل ذلك 1-نعطى الحلقه اسم معين FOR H H 2-نحدد البدايه 8 ونحدد النهاية 11 FOR H =8 TO 11 لاحظ ان عدد الحلقات هنا 4 عباره عن 8و9و10و111 3-ماسيتم تنفيذه Cells(26, h) = h - 7 4-استكمال الحلقه NEXT وبالتالى سيكون شكل الكود كالاتى Sub enterdata_for() For h = 8 To 11 ' h----- متغير تم تعريه على انه يبدأ من 8 وينتهى عند 11 ' اى ان عدد حلقاته هى 4 عباره عن 8ثم9ثم10ثم11 Cells(26, h) = h - 7 ' هنا يتم تنفيذ الكود ' هنا نقول ان الخليه التى تقع فى السطر26 وفى العمود من8الى11 ' مطروحا منه 7 ارقام ليصبح قيمة المتغير تساوى1hتساوى قيمة المتغير ' Cells(26, H)--- الرقم26هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(26, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ على الاعمده من 8الى11 لانها تساوى قيمة المتغير ' h-7 يبدأ من الرقم8وينتهى عند الرقم11 فحينما ينم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تبدأ من الرقم1وتنتهى عند الرقم4 'وبذلك يكون تنفيذ الكود كالاتى ' الخليه فى السطر26وفى العمود5تساوى الرقم1ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم2ثم ' الخليه فى السطر26وفى العمود6تساوى الرقم3ثم ' وهكذا حت نصل الى اخر الحلقه التكراريه اى العمود11 Next ' hتكرار عمل الكود حتى نهاية المتغير ' next---- forاقفال الحلقه التكراريه End Sub ويكون ناتج الكود بهذا الشكل اما اذا اردنا تنفيذ الكود على الخلايا بشكل عمودى بدلا من الخلايا الافقيه بمعنى لو اننا اردنا مثلا تنفيذ نفس الكود على الخلايا من h23 الى h26 اى فى الخلايا h23 و h24 و h25 و h26 كيف سيكون شكل الكود الكود هيكون نفس الكود السابق ولكن ما سيختلف هو اننا سوف نعيد تغير قيمة المتغير h الخاص بالحلقه التكراريه ليصبح من 23 الى 26 ثم نقوم بتغير موضع المتغير h الخاص بالحلقه التكراريه من الصف الى العمود للتوضيح اكثر الفكره هكلها محصوره فى السطرين دول For h = 8 To 11 هنا طبعا قيمة المتغير h الخاص بالحلقه التكراريه من 8 الى 11 احنا عايزين نخليه يبقى من 23 الى 26 يبقى هيكون بالشكل ده For h = 23 To 26 وكمان فى السطر ده Cells(26, h) = h - 7 وطبعا احنا قولنا ان الجزئيه دى Cells(26 تعنى ان الكود سوف ينفذ على السطر 26 والجزئيه دى Cells( , h) تعنى انه هينفذ على العمود h وطبعا h احنا معرفينه على انه من8 الى 11 اى انه سينفذ على العمود 8 ثم العمود 9 ثم العمود10 ثم العمود11 .................................................................................................... طب حنا عايزين ننفذ الكود على العمود h اى العمود رقم 8 يبقى سطر الكود هيكون بالشكل ده Cells( , 8) وعلى السطور من 23 الى 26 وبما اننا عرفنا h على انه من 23 الى 26 يبقى سطر الكود هيصبح بالشكل ده Cells(h, ) وفى النهاية هنلاقى ان سطر الكود بالكامل بالشكل ده Cells(h,8 ) اى ان الكود سينفذ على السطور h الى احنا عرفناها على انها من 23 الى 26 وعلى العمود رقم 8 وبعد كده تأتى الجزئيه دى = h - 7 ولاننا كنا معرفين h يبدأ من الرقم 8 فطرحنا من h الرقم 7 للحصول على الرقم 1 الى هو اول رقم احنا عايزين ندخله فلا او خليه وبما اننا لسه بردو عايزين نخلى الرقم 1 هو اول رقم يتم ادخاله ولكننا قمنا بتغير قيمة المتغير h لتصبح من 23 وللحصول على الرقم 1 يبقى لابد اننا نطرح من المتغير h ما يعطينا الرقم 1 وبالتالى سنجد سطر الكود هيكون كده = h - 22 وفى النهاية سيكون شكل الكود كده Sub enterdata_for1() Dim h As Integer For h = 23 To 26 Cells(h, 8) = h - 22 Next End Sub ويكون ناتج الكود بهذا الشكل الحلقه الثانيه While سوف نتعرف على كيفيه استخدام الحلقه التكراريه While...Wend هذه الحلقه تبدأ بكلمة While وتنتهى بكلمة Wend وفيما بين الكلميتن هو ما سوف يتم تنفيذه للتوضيح اكتر While [ الشرط ] ما يتم تنفيذه Wend نهاية الحلقه فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 38 بداية من العمود 8 كيف سيكون شكل الكود Sub EnterwhileWend() Dim h As Integer ' H--- متغير تم تعريفه على انه رقم صحيح h = 8 ' متغير تم تعريفه على انه يساوى الرقم8----- While h <= 11 ' هنا نقول ان الحلقه التكراريه تكون اقل من الرقم11او تساويه Cells(38, h) = h - 7 ' Cells(38, H)--- الرقم38هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(38, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ بديةمن العمود8 لانها تساوى قيمة المتغير ' h-7 يساوى الرقم8 فحينما يتم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تساوى الرقم1 h = h + 1 'h = h + 1 هنا نقول انه يتم زياده قيمة المتغير بقيمة1صحيح مع كل ' حلقه تكراريه حتى نصل الى الشرط وهو ان يكون اقل من او يساوى11 Wend '-------'نهاية الحلقه While End Sub ويكون ناتج الكود بهذا الشكل الحلقه الثالثه Do تنقسم الى ثلاثة انواع النوع الاول Do While Loop فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 57 بداية من العمود 8 كيف سيكون شكل الكود Sub EnterDoWhile() Dim h As Integer ' H--- متغير تم تعريفه على انه رقم صحيح h = 8 ' متغير تم تعريفه على انه يساوى الرقم8----- Do While h <= 11 ' هنا نقول ان الحلقه التكراريه تكون اقل من الرقم11او تساويه Cells(57, h) = h - 7 ' Cells(57, H)--- الرقم57هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(57, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ بديةمن العمود8 لانها تساوى قيمة المتغير ' h-7 يساوى الرقم8 فحينما يتم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تساوى الرقم1 h = h + 1 'h = h + 1 هنا نقول انه يتم زياده قيمة المتغير بقيمة1صحيح مع كل ' حلقه تكراريه حتى نصل الى الشرط وهو ان يكون اقل من او يساوى11 Loop '-------'نهاية الحلقه Do While End Sub ويكون ناتج الكود بهذا الشكل النوع الثانى Do Loop While فلو اننا نريد ادخال الارقام من1 الى 4 فى السطر 67 بداية من العمود 8 كيف سيكون شكل الكود Sub EnterDo() Dim h As Integer ' H--- متغير تم تعريفه على انه رقم صحيح h = 8 ' متغير تم تعريفه على انه يساوى الرقم8----- Do Cells(67, h) = h - 7 ' Cells(67, H)--- الرقم67هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(67, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ بديةمن العمود8 لانها تساوى قيمة المتغير ' h-7 يساوى الرقم8 فحينما يتم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تساوى الرقم1 h = h + 1 'h = h + 1 هنا نقول انه يتم زياده قيمة المتغير بقيمة1صحيح مع كل ' حلقه تكراريه حتى نصل الى الشرط وهو ان يكون اقل من او يساوى11 Loop While h <= 11 ' هنا نقول ان الحلقه التكراريه تكون اقل من الرقم11او تساويه '-------'نهاية الحلقه Do End Sub ويكون ناتج الكود بهذا الشكل النوع الثالث Do Until Loop فلو اننا نريد ادخال الارقام من 1 الى 4 فى السطر 77 بداية من العمود 8 كيف سيكون شكل الكود Sub EnterDoUntil() Dim h As Integer ' H--- متغير تم تعريفه على انه رقم صحيح h = 8 ' متغير تم تعريفه على انه يساوى الرقم8----- Do Until h > 11 ' هنا نقول ان الحلقه التكراريه سوف تنفذ حتى الرقم11 Cells(77, h) = h - 7 ' Cells(77, H)--- الرقم77هنا يدل على رقم السطر الذى سينفذ فيه الكود ' Cells(77, H)--- عباره عن العمود الذى سينفذ فيه الكود وبذلك يتضحh ' hلنا ان الكود سوف ينفذ بديةمن العمود8 لانها تساوى قيمة المتغير ' h-7 يساوى الرقم8 فحينما يتم طرحhبما ان المتغير ' الرقم7 من المتغير بذلك تصبح قيمة المتغير تساوى الرقم1 h = h + 1 'h = h + 1 هنا نقول انه يتم زياده قيمة المتغير بقيمة1صحيح مع كل ' حلقه تكراريه حتى نصل الى الشرط وهو ان يكون اقل من او يساوى11 Loop '-------'نهاية الحلقه Do Until End Sub ويكون ناتج الكود بهذا الشكل اتمنى ان اكون قد وفقت فى هذا الدرس انتظروا باقى الدروس تقبلوا تحياتى 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.