خالـ(ابوعثمان)ـد قام بنشر نوفمبر 2, 2011 قام بنشر نوفمبر 2, 2011 السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير الاخوة الافاضل ارجو مساعدتي (كما عودتموني دائماً) في هذه المشكلة المطلوب تم شرحه في المرفق شاكر مقدر لمجهوداتكم في هذا المنتدى العظيم test.zip
هشام شلبى قام بنشر نوفمبر 2, 2011 قام بنشر نوفمبر 2, 2011 السلام عليكم ======== يعنى عاوز لما تصفى العمود b الوقت الى يظهر فى العمود L ,M معقول تقصد كده
طارق محمود قام بنشر نوفمبر 3, 2011 قام بنشر نوفمبر 3, 2011 السلام عليكم كل عام وانتم بخير أخي العزيز تقول المطلوب تم شرحه في المرفق فتحت الملف ولم أفهم شيئ إرفق حل يدوي في نفس الملف مثلا إذا الوقت كذا ، يكون لناتج الذي تريده كذا لأن ...
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 3, 2011 الكاتب قام بنشر نوفمبر 3, 2011 السلام عليكم كل عام وانتم بخير أخي العزيز تقول المطلوب تم شرحه في المرفق فتحت الملف ولم أفهم شيئ إرفق حل يدوي في نفس الملف مثلا إذا الوقت كذا ، يكون لناتج الذي تريده كذا لأن ... اسف لعدم استطاعتي شرح المطلوب تم ارفاق ملف جديد فيه مثال والمطلوب بالضبط ارجو ان اكون استطعت شرح المطلوب مع خالص شكري لكم لمحاولتكم مساعدتي test.zip
طارق محمود قام بنشر نوفمبر 3, 2011 قام بنشر نوفمبر 3, 2011 السلام عليكم أخي العزيز تفضل المرفق دبل كليك علي أي خلية بالعمود B وانظر النتيجة test_TAREQ.rar
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 3, 2011 الكاتب قام بنشر نوفمبر 3, 2011 السلام عليكم أخي العزيز تفضل المرفق دبل كليك علي أي خلية بالعمود B وانظر النتيجة وعليكم السلام اشكر لك اخي طارق اهتمامك اخي الفاضل ملفك المرفق عند عمل دبل كليك على اي خلية في العمود B يقوم بتحديد مكانها في العمود K ولكن اخي المطلوب هو ان يكون هناك ماكرو وعند تشغلية يقوم بالعمل التالي: يقوم باختيار 30 رقم عشوائي من العمود B ويضعهم في العمود K ولكن بشرط ان يكون الوقت المختار محصور بين قيمة العموديين L و M فمثلاً الوقت العشوائي الذي سيتم وضعه في الخليه K2 يجب ان لا يقل عن الوقت الموجود في الخلية M2 ولا يزيد عن الوقت الموجود في الخلية L2 وهكذا مع باقي الارقام العشوائيه الاخرى ارجو ان تكون الفكرة وصلت
طارق محمود قام بنشر نوفمبر 3, 2011 قام بنشر نوفمبر 3, 2011 السلام عليكم أخي الحبيب الأسهل أن تجد 29 رقم مثلا من الـ 30 بمعني أن تترك فراغا لإنهاء العملية بسرعة في المرفق 29 رقم فقط: يقوم الكود بتخليق أرقام عشوائية من 2 إلي 232 ومن ثم يأخذ قيم الخلية التي بهذا الرقم العشوائي (بالعمود B) ثم يضعها في المكان المناسب لها في العمود K ويعد الأرقام التي تم تكوينها بالعمود K إذا وصل عددها إلي 29 رقم ينهي الكود وإلا يبدأ بتكوين رقم عشوائي جديد ويعيد الكرة المشكلة أنه يختار رقم في نفس المجال بمعني أنه عشوائيا قد يختار B2 ثم B3 ثم B4 وكلها ستصب في نفس الخلية K2 أي سيكتبها في K2 ثم في K2 ثم في K2 وبمعني آخر أنه قد يختار عشوائيا 10000 رقم ولكنها تقع كلها في 15 خلية مثلا من العمود K إن لم تترك له فراغ ولو خانة واحدة سيأخذ وقتا طويلا إن كان عندك وقت تستطيع تغيير الرقم 29 في الكود ليكون 30 يعني If WorksheetFunction.Count(Range("K2:K32")) = 30 Then Exit Sub بدلا من If WorksheetFunction.Count(Range("K2:K32")) = 29 Then Exit Sub أنظر المرفق test_TAREQ1.rar
الزير قام بنشر نوفمبر 3, 2011 قام بنشر نوفمبر 3, 2011 كل عام والجميع بخير الاستاذ طارق هل نطع في شرح من حضرتك لهذا الجزء (تفصيل لو تتكرم) Randomize 10 x = Int(Rnd(1) * 230) + 1
طارق محمود قام بنشر نوفمبر 3, 2011 قام بنشر نوفمبر 3, 2011 السلام عليكم أخي الكريم هذا الجزء من الكود يكافيء دالة RAND() بالإكسل والتي تستحدث رقم عشوائي بين الصفر والواحد بالضبط مثلها Rnd(1) لذلك ضربنا ناتجها (حد أقصي 1) بالرقم 230 ثم تأخذ الصحيح منه فقط Int ليكون الناتج بين صفر ، 230 وبإضافة 1 للنتيجة يكون الناتج بين 1 ، 231 وهي الصفوف التي بها الإختيار أما Randomize في أول الكود لتسمح بالعشوائية كلما مر الكود بالأمر Rnd(1)
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 4, 2011 الكاتب قام بنشر نوفمبر 4, 2011 الاستاذ/ طارق اشكرك في البداية على التفاعل وتعبك معي المايكرو الذي عملته في غاية الروعه ولكن هناك مشكلتان اذا حلت يكون المايكرو كامل والكامل وجهه الكريم الاولى: انه تم تحديد الاختيار بين 231 رقم عشوائي ومن الممكن الرقم عندي ان يزيد فهل يوجد حل بدلاً من تعديل الماكرو كل مره اذا زاد العدد والثانية: ان الماكرو لن يتوقف حتى تكون الخلية ( K33 ) تساوي 29 والا لن يتوقف فهل يوجد حل بدلاً من تعديل الماكرو كل مره اذا نقص العدد ارجو ان يتسع صدرك للملاحظات واشكرك على المساعدة الثمينه
عبدالله المجرب قام بنشر نوفمبر 4, 2011 قام بنشر نوفمبر 4, 2011 انه تم تحديد الاختيار بين 231 رقم عشوائي ومن الممكن الرقم عندي ان يزيد بعد اذن الاستاذ طارق استبدل هذا الجزء x = Int(Rnd(1) * 230) + 1 بهذا LR = Range("b10000").End(xlUp).Row - 2 x = Int(Rnd(1) * LR) + 1 ليتم حساب عدد الصفوف المستخدمة في العمود B واعتمادها كرقم متغير بدل 230 === بالنسبة للطلب الثاني نرجو التوضيح اكثر فهل المطلوب ربط رقم ايقاف عمل الكود بخليه مثلاً
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 4, 2011 الكاتب قام بنشر نوفمبر 4, 2011 شكرا لكم اخواني على التفاعل بالنسبة اخي عبدالله للطلب الثاني فهو في بعض الاوقات لا يكون هناك طباعة فواتير لفترة ليست بالقليلة فعلى سبيل المثال في مرفق الاستاذ طارق ستجد انه في الفترة بين 14:46:15 و 14:57:11 لم يتم طباعة اي فاتورة فلذلك لن يجد المايكرو ارقام ليختار منها بشكل عشوائي وحسب البرمجه للمايكرو طلب منه ان يجد 29 رقم عشوائي ولذلك لوكانت هناك فتره اخرى لم يتم بها طباعة فواتير فانه لن يختار الا 28 رقم عشوائي ولن يتوقف ابدا ارجو ان تكون الصورة اتضحت
عبدالله المجرب قام بنشر نوفمبر 4, 2011 قام بنشر نوفمبر 4, 2011 اخي مجرد...... لم تتضح الصورة هل تريد ربط عدد الارقام العشوائية بقيمة تدخلها يدوياً في خلية محددة == نرجو منك تعديل اسم الظهور ان لم يكن عندك مانع
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 4, 2011 الكاتب قام بنشر نوفمبر 4, 2011 اخي عبدالله انا نفسي اغير الاسم ولكن لم اعرف الطريقة لتغييره بالنسبة للارقام العشوائية لا اريد ان احدد له العدد فالعدد محدد بالعمود K ب 30 ولكن اذا لم يجد 30 يجب ان يتوقف وهنا المشكلة بانه لا يتوقف اذا لم يجد 30
الخالدي قام بنشر نوفمبر 4, 2011 قام بنشر نوفمبر 4, 2011 السلام عليكم ورحمة الله جرب الكود التالي Set rngA = Range("K2:K31") Set rngB = Range("B2:B232") rngA.ClearContents For Each celA In rngA xA1 = WorksheetFunction.CountIf(rngB, "<=" &celA.Offset(0, 1)) xA2 = WorksheetFunction.CountIf(rngB, "<" & celA.Offset(0, 2)) xA3 = xA1 - xA2 If xA3 > 0 Then xA4 = WorksheetFunction.RandBetween(1, xA3) xB1 = 0 For Each celB In rngB If celA.Offset(0, 1).Value >= celB.Value And celA.Offset(0, 2).Value <= celB.Value Then xB1 = xB1 + 1 If xB1 = xA4 Then celA.Value = celB.Value End If End If Next celB End If Next celA
أ / محمد صالح قام بنشر نوفمبر 4, 2011 قام بنشر نوفمبر 4, 2011 اخي عبدالله انا نفسي اغير الاسم ولكن لم اعرف الطريقة لتغييره بالنسبة للارقام العشوائية لا اريد ان احدد له العدد فالعدد محدد بالعمود K ب 30 ولكن اذا لم يجد 30 يجب ان يتوقف وهنا المشكلة بانه لا يتوقف اذا لم يجد 30 بالنسبة لتغيير الاسم يمكنك الذهاب إلى لوحة التحكم ----> تعديل اسم الظهور ثم تكتب الاسم الذي تريده وكلمة المرور الحالية ........... وبالنسبة لموضوع العدد أنت الذي قررت أن يكون 30 وتسأل الآن ماذا إذا لم يجد 30 أعتقد أنه يجب مراجعة المطلوب بدقة حتى لا تتعب الناس معك وكل عام أنتم بخير 1
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 4, 2011 الكاتب قام بنشر نوفمبر 4, 2011 اخي الفاضل نعم انا الذي طلبت ان يكون العدد 30 ولم اشتكي لماذا يكون 30 ولكن طلبي ان يتوقف المايكرو اذا لم يجد 30 رقم كما اشكر للاخوه الذين اتعبتهم معي واشكر من لم يتحمل اسئلتي ولك الحرية بمساعدتي او تركي وعدم الرد علي
الحسامي قام بنشر نوفمبر 5, 2011 قام بنشر نوفمبر 5, 2011 السلام عليكم اخي الكريم يبدو ان المطلوب مبهم قليلا كما افاد بعض الاخوة وعلى حسب ما قد استوعبته هنا مرفقين الاول بالاكواد والثانية بدالة مستحدثة ولم يحدد عدد الاعداد ولا النطاقات ويتم التغير تلقائيا ارجو ان تساعدك في طلبك test_code.rar test_Formula.rar
طارق محمود قام بنشر نوفمبر 5, 2011 قام بنشر نوفمبر 5, 2011 السلام عليكم أخي الكريم أولا مبروك عليك تغيير الإسم هذا أفضل ثانيا أخونا الفاضل العزيز الكريم / محمد صالح mas123 لايقصد طبعا أي إزعاج لك بل طلب منك فقط مراجعة المطلوب لتوفير الوقت علي كل من يريد المساعدة ، أخي الحبيب يبدو أنك غير مداوم علي المنتدي مع أنك عضو منذ 2007 فلم تر كثيرا من أعمال المايسترو / محمد صالح mas123 حتي وإن ضايقك جزء من تعليقه فأنا أحب إنزال الرجل قدره وأتعلم منه كثيرا وأحب التعامل معه كما يجب التعامل مع العلماء أرجو ألا تتضايق من تعليقي أنا أيضا وأرجو ألا تدع للشيطان بيننا سبيلا أما بالنسبة لسؤالك فأنا والحمد لله فهمت تماما ماتعنيه ولكني لم أطلع بعد علي مشاركة أخواي الخالدي والحسامي فإن كان الموضوع تم حله فبها ونعم وإلا سأحله لك بإذن الله في أقرب وقت أعذرني علي الإطالة وكل عام وأنتم جميعا بألف خير
طارق محمود قام بنشر نوفمبر 5, 2011 قام بنشر نوفمبر 5, 2011 السلام عليكم يبدو أن كلا من حل أخي الخالدي وكذلك أخي الحسامي قد أجابا طلبك إن لم يكن فأرجو الإيضاح
خالـ(ابوعثمان)ـد قام بنشر نوفمبر 6, 2011 الكاتب قام بنشر نوفمبر 6, 2011 الاستاذ/ طارق & الاستاذ/ الحسامي & الاستاذ/ الخالدي & الاستاذ/ عبدالله المجرب & الاستاذ/ محمد صالح وباقي الاخوه الافاضل في هذا الصرح العظيم أولاً: كل عام وانتم بخير ثانياً: أقدم لكم خالص شكري وتقديري على مساعدتي فقد وصلت لطلبي بعد الله بفضل مجهوداتكم ثالثاً: اخي طارق بخصوص اني مسجل من 2007 . نعم انا والله لا انقطع ابدا عن هذا المنتدى واتعلم منه في كل يوم شي جديد ولكن يعيبني اني لاكتب ابداً واعرف اني مقصر من هذه الناحية ولكن اعدكم بان يتغير الحال الى الافضل رابعاً: كنت اتمنى ممن غيير اسمي ان يتم الرجوع الي في الاسم قبل تغييره واتمنى منه ان يعيد تغييره الى (خالـ(ابوعثمان)ـد)
عبدالله المجرب قام بنشر نوفمبر 6, 2011 قام بنشر نوفمبر 6, 2011 رابعاً: كنت اتمنى ممن غيير اسمي ان يتم الرجوع الي في الاسم قبل تغييره واتمنى منه ان يعيد تغييره الى (خالـ(ابوعثمان)ـد) تم تغيير اسم الظهور الى الاسم المطلوب وكل الشكر للاستاذ محمد طاهر مدير الموقع ابواحمد
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.