محمد طاهر عرفه قام بنشر مايو 18, 2004 مشاركة قام بنشر مايو 18, 2004 بعد اعداد ماكرو معين للتطبيق علي خلية في أحيان كثيرة نحتاج علي تطبيق الماكرو علي عدة أسطر فى نفس الخلية و لاختيار مجموعة الخلاية المكلوبة و تطبيق نفس الماكرو عليها نستخدم الكود التالي: و ما يلي هو عدد 2 كود مع شرح لكل سطر الاول لطريقة بسيطة للتطبيق و الثاني ، مع بعض الاضافات ن مثل الغاء ظهور الاحداث علي الشاشة و عمل عداد يظهر فى شريط الحالية ليخبرنا بالتقدم فى التطبيق مرفق ملف به الكودان مع الشرح علي أن تضع الكود المطلوب تكراره فى المكان المحدد الشرح موجود مع الماكرو اضغط ALT+F11 ---- الاكواد : Sub myloop1() 'تعريف متغير من أجل عدد الصفوف Dim MyRow As Long 'عد عدد الصفوف المختارة MyRow = selection.Rows.Count 'اختيار الخلية الاولي فى الخلايا المختارة ActiveCell.Select 'بدء حلقة تكرارية للمرور علي جميع الصفوف For i = 1 To MyRow 'ضع الكود الذي تريد تكراره هنــــــــــــا 'اختيار الخلية التي تلي الخلية الحالية - أسفلها ActiveCell.Offset(1, 0).Activate 'نهو الحلقة التكرارية للمرور علي جميع الصفوف Next i End Sub و الثاني Sub myloop2() ' by Mohamed Taher ' www.officena.net 'الغاء تفعيل اظهار ما يحدث علي الشاشة Application.ScreenUpdating = False 'تعريف متغيران الاول لعدد الصفوف و الثاني لتثبيت العدد من أجل العداد Dim MyRow As Long, origraw As Long ' 'عد عدد الصفوف المختارة MyRow = selection.Rows.Count 'نقل العدد الي المتغير الخاص بتثبيت العدد origraw = MyRow 'اختيار الخلية الاولي فى الخلايا المختارة ActiveCell.Select 'بدء حلقة تكرارية للمرور علي جميع الصفوف For i = 1 To MyRow 'ضع الكود الذي تريد تكراره هنــــــــــــا 'اظهار العداد فى شريط الحالة Application.StatusBar = "Calculating ...." & _ Format(i / origraw, "0.0%") & " Please Wait......." 'اختيار الخلية التي تلي الخلية الحالية - أسفلها ActiveCell.Offset(1, 0).Activate 'نهو الحلقة التكرارية للمرور علي جميع الصفوف Next i 'تمكين تفعيل اظهار ما يحدث علي الشاشة Application.ScreenUpdating = True 'الغاء ما كتب فى شريط الحالة أسفل الشاشة Application.StatusBar = False End Sub مثال لعمل حلقة علي كتابة رقم فى الخلايا المختارة اختار الخلايامن أاعلي الي اسفل ثم شغل الماكرو LOOP.rar رابط هذا التعليق شارك More sharing options...
محمد طاهر عرفه قام بنشر مايو 18, 2004 الكاتب مشاركة قام بنشر مايو 18, 2004 ===== أمثلة من مواضيع مختلفة تم تطبيق ذلك فيها http://www.officena.net/ib/index.php?showtopic=3116 http://www.officena.net/ib/index.php?showtopic=73 http://www.officena.net/ib/index.php?showtopic=72 http://www.officena.net/ib/index.php?showtopic=1558 ==== رابط هذا التعليق شارك More sharing options...
محمد حجازي قام بنشر يناير 29, 2005 مشاركة قام بنشر يناير 29, 2005 السلام عليكم ... بالنسبة للحلقة التكرارية ، ألا يكون من الأفضل استخدام For Each وذلك لأننا بها تحقق ميزتين : - عدم الحاجة لتفعيل الخلية المختبرة في كل دورة (في المثال أعلاه). - عدم الحاجة لتغيير قيمة المتغير الدال على الهدف المختبر في كل دورة. رابط هذا التعليق شارك More sharing options...
محمد طاهر عرفه قام بنشر يناير 29, 2005 الكاتب مشاركة قام بنشر يناير 29, 2005 السلام عليكم في المثال اعلاه تفعيل الخلية ليس هدفا و انما مجرد مثال علي ما يحدث من فعل داخل الحلقة و الحلقة تعمل دون التأثر به ان الغيناه أي ان المرور علي الصفوف مثال لتوضيح ما يحدث فى الحلقة التكرارية ان لم يكن ردي مناسبا لما تقصد فارجو التوضيح اكثر مع تحياتي رابط هذا التعليق شارك More sharing options...
محمد حجازي قام بنشر يناير 29, 2005 مشاركة قام بنشر يناير 29, 2005 السلام عليكم ... الموضوع متصل بالكود الموضوع لاختبار الخلايا ، وفي كلتا الأحوال سيكون استخدام الحلقة التكرارية بالاعتماد على متغير (كديل) أقل كفاءة من استخدام الحلقة For Each رابط هذا التعليق شارك More sharing options...
الردود الموصى بها