أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
khaled alborene مجدى يونس-- لا تميز خلال هذه الفترة YasserKhalil حساب عدد الخلايا التي لا تحتوي على صفر اكسيل اسئله واجابات


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



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





جملة التكرار Do While Loop

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



16-07-2018 09:07 مساء
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 6329
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 19
يتابعهم : 0
يتابعونه : 391
قوة السمعة : 17426
الاعجاب : 315
 offline 

السلام عليكم ورحمة الله وبركاته

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

أقدم لكم دروس بسيطة للتعرف على الأكواد للـ VBA بشكل مبسط وبأمثلة عملية تطبيقية لتكون مفهومة بشكل أفضل وتستطيع الاستفادة منها بشكل عملي .. ولا أحب أن تكون الدروس مجرد كلام نظري

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

المعطيات : لديك قائمة أسماء في العمود الأول A وتبدأ الأسماء من الخلية A2 وحتى آخر صف به بيانات (البيانات متصلة أي لا يوجد خلايا فارغة بين الأسماء)
شكل البيانات بهذا الشكل
An7yD4CNP1H1EM0

المطلوب : استخدام جملة Do While .. لعمل حلقة تكرارية للأسماء وطباعة الأسماء في النافذة الفورية Immediate Window .. (يمكن إظهارها بالضغط على Ctrl + G)
Ut2vm6pczHgnn1b

بعد أن تعرفنا على المعطيات والمطلوب أي شكل المخرجات المطلوبة .. نأتي لخطوات كتابة الكود

>> سنقوم بالإعلان عن متغير من النوع نطاق ليشير للخلية A1 وليس الخلية A2 .. المتغير باسم c

>> نقوم بتعيين النطاق A1 ليشير للمتغير الذي قمنا بتسميته c

>> نستخدم جملة Do While يليها مسافة ثم الشرط الذي على أساسه تنتهي الحلقة التكرارية ، والشرط هو أن تكون الخلية التالية للنطاق c خلية فارغة
وهنا نستخدم دالة الإزاحة Offset للإزاحة بمقدار خلية واحدة لأسفل بهذا الشكل
c.Offset(1)

فنقوم بوضع الشرط وهو أن تكون قيمة الخلية Value التي تم الوصول إليها عن طريق الإزاحة بحيث هذه الخلية لا تساوي <>  فراغ ""

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

>> نستخدم كلمة Debug.Print لطباعة القيم أي الأسماء في النافذة الفورية ، ونترك بعدها مسافة ونشير للخلية التي تم عمل إزاحة لها ، ونحدد أننا نريد قيمتها
c.Offset(1).Value


>> بقي سطر واحد فقط وهو مهم جداً لأنه لولا هذا السطر لظلت الحلقة التكرارية إلى ما لا نهاية ، وهذا السطر سيقوم بتغيير المتغير c ليشير إلى الخلية التي تليها
** على سبيل المثال المتغير c يشير إلى الخلية A1 ونريد أن نغير المتغير بحيث يشير إلى الخلية التي تليها .. في هذه الحالة نستخدم جملة Set يليها اسم المتغير وهو c ثم علامة يساوي ثم نضع المتغير c يليه نقطة يليه دالة الإزاحة Offset ونحدد مقدار الإزاحة بمقدار صف واحد لأسفل فنكتب الرقم 1 بين قوسين 
** إذاً مع كل حلقة تكرارية سيتغير المتغير c ليعبر عن الخلية التي تليها ففي أول حلقة سيكون A2 ثم A3 ثم A4 وهكذا

أرجو أن يكون التطبيق يسير عليكم إن شاء الله

كان معكم أخوكم في الله / ياسر خليل أبو البراء
 
 
 







16-07-2018 11:41 مساء
مشاهدة مشاركة منفردة [1]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1376
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 4
يتابعهم : 3
يتابعونه : 72
قوة السمعة : 8483
الاعجاب : 35
 offline 
look/images/icons/i1.gif جملة التكرار Do While Loop
رائع رائع طريقة شرح مفيش بعدها كلام
ولا يهم الان التفاعل بالشكل المطلوب الواحد بيعمل للزمن فعلا قد تكون تلك الدروس صدقة جاريه فيما بعد
انت بتعمل خير للاسف فى الزمن دا نادر جدا وحتى اللى بيقدر قليل
لكن انا اكيد بقدر واسعد جدا بمتابعتك دائما وابدا
اتفضل الهووم وورك امستر ولو سمحت اعملى نجمة biggrin2
Sub M_Yasser()
Dim c As Range
Set c = Range("a1")
Do While c.Offset(1).Value <> ""
Debug.Print c.Offset(1).Value
Set c = c.Offset(1)
Loop
End Sub





17-07-2018 05:46 صباحا
مشاهدة مشاركة منفردة [2]
salim
خبير معتمد
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 43
المشاركات : 326
الجنس : ذكر
تاريخ الميلاد : 1-5-1989
الدعوات : 1
يتابعهم : 13
يتابعونه : 13
قوة السمعة : 2880
الاعجاب : 65
 offline 
look/images/icons/i1.gif جملة التكرار Do While Loop
احد الحلول الاخرى
   عندي سؤالين ارجو الاجابة:
1- ما هي هذه الاشارة <> التي تظهر في الزاوية  العليا اليسرى من نافذة الكود بعد ارساله
2- هل يمكن جعل نافذة الكود مطاطة بحيث يستطيع الانسان قراءة اكثر من 6 او 7 اسطر من الكود
     لأنك عتدما تقرأ فقط قسم من الكود الطويل لا تتذكر ما ورد في البداية و لا يمكن تخمين النهاية
           (حتى و لو استعملت مقبض الانزلاق)

Sub M_Salim()
Dim i%: i = 2
Do Until Range("a" & i) = vbNullString
Debug.Print Range("a" & i)
i = i + 1
Loop
End Sub
'==========================
Sub M_Salim1()
Dim i%: i = 2
Do
Debug.Print Range("a" & i)
i = i + 1
Loop Until Range("a" & i) = vbNullString
End Sub


 





17-07-2018 06:38 صباحا
مشاهدة مشاركة منفردة [3]
الصقر
مدير المنتدى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1630
الجنس : ذكر
الدعوات : 13
يتابعهم : 0
يتابعونه : 537
قوة السمعة : 16827
الاعجاب : 112
موقعي : زيارة موقعي
 offline 
look/images/icons/i1.gif جملة التكرار Do While Loop

جزاكم الله خيرا اخى الحبيب ابوبراء
جعله الله فى ميزان حسناتك يارب
123113





توقيع :الصقر

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



17-07-2018 06:53 مساء
مشاهدة مشاركة منفردة [4]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 6329
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 19
يتابعهم : 0
يتابعونه : 391
قوة السمعة : 17426
الاعجاب : 315
 offline 
look/images/icons/i1.gif جملة التكرار Do While Loop
أخي الحبيب إسلام عبد الله أحلى نجمه لأنشط وأوحد طالب 3

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

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

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





15-10-2018 08:14 صباحا
مشاهدة مشاركة منفردة [5]
جبري
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 23-04-2018
رقم العضوية : 5752
المشاركات : 89
الجنس : ذكر
تاريخ الميلاد : 1-5-1978
يتابعهم : 1
يتابعونه : 0
قوة السمعة : 91
الاعجاب : 1
 offline 
look/images/icons/i1.gif جملة التكرار Do While Loop
الله يبارك فيك


 

3 123 111






المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
الطلبة الأوائل في حالة التكرار Khairi
17 223 YasserKhalil
اربعة في واحد كيف التنقل ومنع التكرار وتصحيح الخطاء واخر صف ياكرام ابوعلي الحبيب
1 90 ابوعلي الحبيب
التنبيه برسالة في حالة التكرار مع الخيار بالاضافة او الالغاء عبدالله الصاري
19 1007 ahmed ghoneim
نشر العلم - ازاى تعمل قائمه منسدله فى عمود مع الاجبار بعدم التكرار فى الاختيار علاء طالب
1 187 علاء طالب
هل يوجد طريقة لكشف التكرار في اكثر من ورقة عمل؟ mohammad excel
2 272 YasserKhalil

الكلمات الدلالية
جملة ، التكرار ، While ، Loop ،


 







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



الساعة الآن 01:02 مساء

أعلن هنا
أعلن هنا
أعلن هنا