الزباري قام بنشر أكتوبر 19, 2016 قام بنشر أكتوبر 19, 2016 (معدل) السلام عليكم ورحمة الله وبركاته، أحببت في هذه الصفحة أن أعرض لكم الفرق بين وظيفة كل من The For Loop The Do Until Loop The Do While Loop وذلك عن طريق طرح بعض الأمثلة العملية في ذلك، وقد نستعين من بعض الخبراء لإثراء الموضوع لجعله أكثر حيوية.. تابعونا إن كان الموضوع مجدي. تم تعديل أكتوبر 19, 2016 بواسطه الزباري التنسيق 6
الزباري قام بنشر أكتوبر 20, 2016 الكاتب قام بنشر أكتوبر 20, 2016 بدأ ب بسم الله 1- الدالة For loop: الغرض من ذلك هو تكرار مجموعة معينة من البيانات لعدد معين من المرات لو طُلب منك أن تكتب الأرقام من 1 إلى 5 في العمود الأول في الإكسل لكتبت التالي: Cells(1, 1).Value = 1 Cells(2, 1).Value = 2 Cells(3, 1).Value = 3 Cells(4, 1).Value = 4 Cells(5, 1).Value = 5 لكن لو طُلب منك أن تكتب الأرقام من 1 إلى 100 فستحتاج إلى 100 سطر لكتابة الكود!! وهذا يعتبر أمر شاق للمبرمج وهنا أتت هذه الدالة لتختصر الوقت والجهد، وسيكون الكود كالتالي: Dim i As Integer For i = 1 To 100 Cells(i, 1).Value = i Next i جميل جداً.. طيب لو أردنا أن نطبق الكود ليطبع الأرقام على عمودين متجاورين فماذا نفعل؟! 4
ليلى الهلالي قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 (معدل) السلام عليكم. جزاك الله خيراً على هذا الموضوع. شرح جميل. هل بالإمكان أرفاق مثال لمعرفة طريقة تطبيق الكود وفهمها بشكل أسرع. لأنني أقرأ هذه الأكواد ولا أفهمها أو أفهم طريقة التطبيق لأي أعمال لدي. ولك جزيل الشكر. تم تعديل أكتوبر 20, 2016 بواسطه morestudy
جلال الجمال_ابو أدهم قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 الزباري اخى الفاضل ما شاء الله استمر
توكل قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 50 دقائق مضت, morestudy said: السلام عليكم. جزاك الله خيراً على هذا الموضوع. شرح جميل. هل بالإمكان أرفاق مثال لمعرفة طريقة تطبيق الكود وفهمها بشكل أسرع. لأنني أقرأ هذه الأكواد ولا أفهمها أو أفهم طريقة التطبيق لأي أعمال لدي. ولك جزيل الشكر. تفضل أخي الكريم تم عمل مثال بسيط بمجرد أن تضغط زر الماكرو في المثال سوف يكتب من 1 - 100 في الخلية A1 إلى A100 LOOP.rar 1
ليلى الهلالي قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 لك جزيل الشكر على هذا المثال. بارك الله فيك. اتضحت لي الفكرة.
أبو حنف قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 ما شاء الله أخي @الزباري شرح مبسط وسهل استمر ونحن معك 1
الزباري قام بنشر أكتوبر 20, 2016 الكاتب قام بنشر أكتوبر 20, 2016 اعذرني يا أخيتوكل لم أنتبه إلى ملفك نرجع إلى سؤالنا.. لو أردنا أن نطبق الكود ليطبع الأرقام على عمودين متجاورين فماذا نفعل؟!
توكل قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 (معدل) 2 ساعات مضت, الزباري said: انرجع إلى سؤالنا.. لو أردنا أن نطبق الكود ليطبع الأرقام على عمودين متجاورين فماذا نفعل؟! يمكن تطبيق الكود التالي للكتابة في ثلاثة أعمدة طبعاً هناك حلول أفضل ولكن كل حسب علمه Dim i As Integer For i = 1 To 100 Cells(i, 1).Value = i Next i For i = 1 To 100 Cells(i, 2).Value = i Next i For i = 1 To 100 Cells(i, 3).Value = i Next i تم تعديل أكتوبر 20, 2016 بواسطه توكل 1
الزباري قام بنشر أكتوبر 20, 2016 الكاتب قام بنشر أكتوبر 20, 2016 امم.. يعني لو كنا عاوزين نكتب في مائة عمود فراح نكرر الكود مائة مرة .. يالطيف بس بداية جيدة
الزباري قام بنشر أكتوبر 20, 2016 الكاتب قام بنشر أكتوبر 20, 2016 ببساطة نضيف حلقة تكرارية أخرى على الدرس السابق لتصبح كالتالي Dim i As Integer Dim j As Integer For j = 1 To 2 For i = 1 To 100 Cells(i, j).Value = i Next i Next j لاحظ أننا عرفنا الحلقة التكرارية j والتي تساوي 2 وهي عدد الأعمدة المطلوب تطبيق الكود عليها ، ولا تنسى بأن تغلق الحلقة التكرارية ب Next ، جرب أن تغير عدد الأعمدة في المرفق التالي. الحلقة التكرارية2.rar سؤالنا التالي: كيف أكرر الكود السابق على ثلاث شيتات؟ 3
توكل قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 18 دقائق مضت, الزباري said: امم.. يعني لو كنا عاوزين نكتب في مائة عمود فراح نكرر الكود مائة مرة .. يالطيف بس بداية جيدة أنا قلت لك كل حسب علمه جزاكم الله خيراً منكم نستفيد
جلال الجمال_ابو أدهم قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 الزباري تحياتى الى الحلقه القادمه _ استمر
ابراهيم الحداد قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 السلام عليكم ورحمة الله كود لترقيم 5 اعمدة متتالية من 1 الى 500 كل عمود مائة رقم Sub Serials() For R = 1 To 100 For S = 6 To 10 Cells(R, S) = R + ((S - 6) * 100) Next Next End Sub 3
توكل قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 12 دقائق مضت, زيزو العجوز said: السلام عليكم ورحمة الله كود لترقيم 5 اعمدة متتالية من 1 الى 500 كل عمود مائة رقم Sub Serials() For R = 1 To 100 For S = 6 To 10 Cells(R, S) = R + ((S - 6) * 100) Next Next End Sub ما شاء الله زادكم الله من فضله كل يوم نتعلم شيئاً جديداً
ياسر خليل أبو البراء قام بنشر أكتوبر 20, 2016 قام بنشر أكتوبر 20, 2016 بسم الله ما شاء الله أخي العزيز الزباري بارك الله فيك وجزاك الله خيراً .. 1
الزباري قام بنشر أكتوبر 20, 2016 الكاتب قام بنشر أكتوبر 20, 2016 تذكير بالسؤال: كيف أكرر الكود السابق على ثلاث شيتات؟ وللإجابة على ذلك نجيب على السؤال التالي: كيف يتم تعريف اسم الشيت (sheet) باستخدام الكود؟ الإجابة: worksheets(1) و worksheet(2) و worksheet(3) وعليه يتم عمل حلقة تكراربة من 1 إلى 3 للشيت كالتالي: Dim i As Integer Dim j As Integer Dim c As Integer For c = 1 To 3 For j = 1 To 2 For i = 1 To 100 Worksheets(c).Cells(i, j).Value = i Next i Next j Next c طبق الكود في المرفق ثم افتح sheet2 و sheet3 الحلقة التكرارية3.rar وإلى هنا انتهت حلقتنا الأولى لهذا اليوم 3
الزباري قام بنشر أكتوبر 21, 2016 الكاتب قام بنشر أكتوبر 21, 2016 2- الدالة Do until loop الغرض من ذلك هو تكرار مجموعة معينة من البيانات إلى أن يتم يتحقق الشرط فعندها يتم إنهاء الحلقة التكرارية. فمثلاً لو طُلب منك بأن تكتب أرقام متسلسلة في العمود الأول وتضع شرطاً بأن يتوقف عندما يكون الرقم يساوي 11، فعندها سيكون الكود كالتالي : i = 1 Do Until i = 11 Cells(i, 1) = i i = i + 1 Loop لاحظ بأنه عندما تكون قيمة i = 11 فإنه يتوقف عن العمل ولا يكتب قيمتها.. شاهد المرفق لتعرف آلية العمل do_until_01.rar طيب .. ماذا يفرق لدينا لو استخدمنا i>11 ؟!!! i = 1 Do Until i > 11 Cells(i, 1) = i i = i + 1 Loop فهل ستكون النتيجة مختلفة؟!!! 2
توكل قام بنشر أكتوبر 21, 2016 قام بنشر أكتوبر 21, 2016 2 ساعات مضت, الزباري said: 2- الدالة Do until loop طيب .. ماذا يفرق لدينا لو استخدمنا i>11 ؟!!! i = 1 Do Until i > 11 Cells(i, 1) = i i = i + 1 Loop فهل ستكون النتيجة مختلفة؟!!! هنا سيكتب الرقم 11 حتماً جزاك الله خيرا وزادك علماً بانتظار المزيد 1
عمار محمد حسن قام بنشر أكتوبر 22, 2016 قام بنشر أكتوبر 22, 2016 اسلوبك جميل استاذ الزباري تسلم ايدك 1
الزباري قام بنشر أكتوبر 23, 2016 الكاتب قام بنشر أكتوبر 23, 2016 كيف نستخدم الدالة لكتابة أرقام متسلسلة من 1 إلى 10 على أن تبدأ في ال الخلية A5؟ الإجابة: i = 1 Do Until i > 10 Cells(i + 4, 1) = i i = i + 1 Loop شاهدالمرفق التالي: do_until_02.rar 3
الردود الموصى بها