ahmad.saeed.mh قام بنشر أكتوبر 24, 2012 مشاركة قام بنشر أكتوبر 24, 2012 السلام عليكم ورقة محمية بكلمة سر عندما ادخل نصا في الخلية واضغط انتر اريد من الحدث sheetchange او ما يشبهه ان يقفل الخلية بعد ادخال النص ولكن ليس مباشرة بل بعد ربع ساعة والغاية هي السماح لمدخل البيانات من تغيير البيانات خلال ربع الساعة الأولى من ادخاله للنص لأنه قد يرغب في تصحيح خطأ ما خلال هذه الفترة لكن لا يسمح لأحد بفعل ذلك بعد ربع ساعة حتى لا يحصل تزوير فلا يستطيع احد تغيير البيانات الا بازالة الحماية عن الورقة عن طريق الشخص المسئول اظن المسألة تحتاج timer يتم تفعيله بعد sheetchange او afterupdate او شيء من هذا القبيل هل احد الأخوة الخبراء لديه فكرة؟ رابط هذا التعليق شارك More sharing options...
أبو أنس حاجب قام بنشر أكتوبر 24, 2012 مشاركة قام بنشر أكتوبر 24, 2012 السلام عليكم ورحمة الله وبركاته أخي الفاضل حفظكم الله جرب المرفق عله المطلوب أبو أنس ناصر حاجب قفل خلية بعد ربع ساعة.rar رابط هذا التعليق شارك More sharing options...
ahmad.saeed.mh قام بنشر أكتوبر 25, 2012 الكاتب مشاركة قام بنشر أكتوبر 25, 2012 ممتاز اخي الكريم تقريبا هذا هو المطلوب . ما شاء الله خبير فعلا لكني مع الأسف لا اريد خلية واحدة بل نطاق معين (مصفوفة) c7 ابدلت بها range a1:b10 لكن مع الأسف لم يعمل معي المطلوب ان الخلية التي كتبت فيها للتو تقفل locked=true وليس كل النطاق حاولت استخدام activecell.locked=true لكنه يقفل الخلية المجاورة لأنها هي التي تصبح active بعد ضغط enter لا داعي لقفل الشيت كله في كل مرة نغير البيانات . يكفي قفله مرة واحدة عند بداية البرنامج مثلا في الحدث worksheet.activate مع ترك النطاق المعين a1:b10 بدون حماية ثم يتم قفل كل خلية من خلايا هذا النطاق نكتب فيها على حدى وليس كل النطاق حبذا لو حاولتَ تعديل الكود اخي الكريم اذا كنت تملك وقتا لذلك سؤال آخر اذا سمحت : هل يمكن الإستعاضة عن العبارة التي تخبرنا ان الخلية مقفلة بعبارة عربية user defined message مثل: "اخي المستخدم لا يمكنك تعديل الخلية بعد مرور ربع ساعة على ادخالك البيانات فيها. راجع مدير البرنامج رجاءا لتصحيح الخطأ" ارجو الا اكون قد اثقلت عليك لاحظ محاولتي الفاشلة في الملف المرفق قفل خلية بعد ربع ساعة.rar رابط هذا التعليق شارك More sharing options...
ahmad.saeed.mh قام بنشر أكتوبر 25, 2012 الكاتب مشاركة قام بنشر أكتوبر 25, 2012 و عذرا اخي ان لم استطع الدخول للإنترنيت الى ما بعد العيد رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر أكتوبر 25, 2012 مشاركة قام بنشر أكتوبر 25, 2012 جرب هذا التعديل Sub Protect() ActiveCell.Offset(-1, 0).Locked = True ActiveSheet.Protect Password:="123", UserInterfaceOnly:=True End Sub رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر أكتوبر 25, 2012 مشاركة قام بنشر أكتوبر 25, 2012 جرب هذا التعديل Sub Protect() ActiveCell.Offset(-1, 0).Locked = True ActiveSheet.Protect Password:="123", UserInterfaceOnly:=True End Sub رابط هذا التعليق شارك More sharing options...
ahmad.saeed.mh قام بنشر أكتوبر 30, 2012 الكاتب مشاركة قام بنشر أكتوبر 30, 2012 السلام عليكم وكل عام وانتم مغفور لكم اخي عبد الله المجرب زادك الله تجربة وخبرة طبقت فكرتك فيبدو انها تعمل في اول الأمر فعندما تكتب في الخلية وتضغط انتر وتنتظر 2 ثانية تجد الخلية المعنية تقفل فعلا لكن هذا لا ينفع ان جعلنا الوقت ربع ساعة لأنك خلال هذه الربع ساعة ستدخل العديد من البيانات في خلايا كثيرة وكل خلية منهم تستدعي الإجراء protect فبعد نهاية ربع الساعة لأول خلية استدعت الإجراء فان الخلية المشار اليها بـ ActiveCell.Offset(-1, 0).Locked هي التي ستقفل وهي ليست الخلية التي استدعت الإجراء ابتداءا وهذه الخلية التي ستقفل هي مجرد خلية مسكينة تصادف انها كانت مجاورة للخلية الحالية ولم يمض عليها ربع ساعة وربما ليس فيها بيانات اصلا حاولت ان احل المشكلة باستخدام parameters حيث ترسل الخلية المراد قفلها عنوانها الى اجراء ProtectionTime والذي يقوم بدوره بارسالها بعد ربع ساعة الى اجراء Protect ليقفل الخلية التي استدعت الإجراء لكن مع ذلك لا يزال البرنامج لا يعمل انظر محاولتي في المرفق رجاءا وجزاك الله خيرا قفل خلية بعد ربع ساعة.rar رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.