سعد الفقير قام بنشر أكتوبر 29, 2015 قام بنشر أكتوبر 29, 2015 السلام عليكم: حاولت في الكود ولكن لم انجح....... ارغب عندما تكون محتويات العمود Sعبارة (لم يباشر) تاتي رسالة باسم الموظف من العمود G تفيد بان "يجب على - اسم الموظف- الأتصال على شئون الموظفين". وعند بلوغ المتبقي للاجازة 3 أيام تاتي رسالة باسم الموظف من العمود G تفيد "أدراج - أسم الموظف-في الورديات". ولكم الشكر الجزيل . يوجد كود في حدث الصفحة.علما بان العمود S يحتوي معادلات. Private Sub Worksheet_Change(ByVal Target As Range) Dim A As Range Set A = Range("S:S") Application.EnableEvents = False If Intersect(Target, A) Is Nothing Then Exit Sub If Target.Value = "لم يباشر" Then Application.EnableEvents = True MsgBox "يجب الاتصال على شؤون الموظفين" End If End Sub ssss.rar
أبوعيد قام بنشر أكتوبر 30, 2015 قام بنشر أكتوبر 30, 2015 (معدل) أخي العزيز طلبك فيه إشكال وهو إذا كان عندنا مثلا أربعة موظفين كلهم تم كتابة عبارة (لم يباشر) أمام كل منهم فكيف العمل ؟ ماذا هو العمل الذي تريد الكود أن يقوم به ؟ أو ما هي آلية العمل ؟ تحياتي تم تعديل أكتوبر 30, 2015 بواسطه أبوعيد
سعد الفقير قام بنشر أكتوبر 30, 2015 الكاتب قام بنشر أكتوبر 30, 2015 اهلا باخي ابو عيد . نعم كما قلت في حالة وجود عدد اربعة موظفين وكتبة عبارة لم يباشر فارغب في ظهور رسالة لكل اسم متتالية. فهدفي هو اظهار رسالة عند فتح الملف تفيد باسماء الموظفين الذين لم يباشروا
الـعيدروس قام بنشر أكتوبر 30, 2015 قام بنشر أكتوبر 30, 2015 السلام عليكم يتفعل الكود عند الكتابه في العمود A Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2:A100")) Is Nothing Then Dim S$, Nm$, SS$, Msg$, Rw Rw = Target.Row S = Cells(Rw, 19) Nm = Cells(Rw, 7) SS = Cells(Rw, 17) If S = "لم يباشر" Then Msg = " يجب على الموظف :" & Nm & " الإتصال على شئون الموظفين " MsgBox Msg End If If SS <= 3 Then Msg = " يجب إدراج الموظف :" & Nm & " في الورديات " MsgBox Msg End If End If End Sub
سعد الفقير قام بنشر أكتوبر 30, 2015 الكاتب قام بنشر أكتوبر 30, 2015 (معدل) العيدروس. شكرا لك ولاكن لم يفي الكود بالغرض . لان العمود S يوجد فية معادلة وهي مبنية على نهاية تاريخ الاجازة أو بالاحرى على المعادلة الموجودة في الخلية Q تم تعديل أكتوبر 30, 2015 بواسطه سعد الفقير
الـعيدروس قام بنشر أكتوبر 30, 2015 قام بنشر أكتوبر 30, 2015 جرب هكذا انت تريد ان يشعرك على الكل Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2:A100")) Is Nothing Then On Error Resume Next Dim S$, Nm$, SS$, Msg$, Rw For Rw = 2 To Cells(Rows.Count, 7).End(xlUp).Row If Cells(Rw, 7) <> "" Then S = Cells(Rw, 19) SS = Cells(Rw, 17) Nm = Cells(Rw, 7) If S = "لم يباشر" Then Msg = " يجب على الموظف :" & Nm & " الإتصال على شئون الموظفين " MsgBox Msg End If If SS <= 3 Then Msg = " يجب إدراج الموظف :" & Nm & " في الورديات " MsgBox Msg End If End If Next End If End Sub
سعد الفقير قام بنشر أكتوبر 30, 2015 الكاتب قام بنشر أكتوبر 30, 2015 اخي العزيز العيدروس اشكر لك مساعدتي ولكن انا لا ارغب بان اكتب كلمة "لم يباشر " في العمود S فعبارة لم يباشر تظهر اتوماتيكيا في العمود وذللك لوجود معادلة بداخلة. والكود الذي ارسلته لا يعمل الا عند كتابة عبارة لم يباشر يدويا. فمطلوبي عند تحول العمود S اتوماتيكيا لعبارة لم يباشر حسب المعادلة الموجودة فية والمرفقة بالملف. يتم اظهار الرسالة
الـعيدروس قام بنشر أكتوبر 30, 2015 قام بنشر أكتوبر 30, 2015 اكتب اي شيء في العمود A ولاحظ النتيجه متى تريد ان يتفعل الكود عند عمل ماذا هل عند الكتابه في عمود معين او عند الضغط على زر محدد ؟
سعد الفقير قام بنشر أكتوبر 30, 2015 الكاتب قام بنشر أكتوبر 30, 2015 (معدل) اخي العيدروس لا ارغب في الكتابة في اي عمود. لان هناك معادلة في العمود S عند انتهاء الاجازة اتومتيكيا تظهر عبارة لم يباشر في العمود. فما اريد هو عند ظهور هذة العبارة اتوماتيكيا في العمود S تاتي الرسالة. اتمنى بان ترى المعادلة الموجودة في الخلية S2. الرسالة تاتي بعد فتح ملف الاكسل تم تعديل أكتوبر 30, 2015 بواسطه سعد الفقير
عبد العزيز البسكري قام بنشر أكتوبر 30, 2015 قام بنشر أكتوبر 30, 2015 (معدل) السّلام عليكم و رحمة الله و بركاته أخي الكريم سعد الفقير ..كمحاولة أو محاولتيْن لدعم الموضوع و إثرائه .. يوجد ملفيْن مختلفيْن .. و كملاحظة منذ البداية أنّ التّاريخ المعتمد بالملفين هو التاريخ الميلادي .. لم أقم بالتجريب على التاريخ الهجري .. وضعت فقط بعض المعادلات المستمدة من ملفك لتجريب مدى تأثيرها على الأكواد .. حاول أنتً التّعديل بالزيادة أو بالنّقصان تركيبه و تكييفه على ملفك الشّخصي .. الملف الأول يعطي مع فتحه مباشرة رسالة واحدة للصنفين " الموظفين - الورديات " لكن عليك بإضافة كلمة " أيام " مع عددها بالعمود Q مثلما توضّحه الصورة أدناه : الملف الثاني يعطي مع فتحه مباشرة رسائل متعدّدة لجميع المعنيين بالأمر سواء للموظفين أو للورديات ..كل واحد باسمه الخاص ..الكود المستعمل بهذا الملف الثاني له علاقة بالألوان .. ليست عملية تنسيق شرطي و إنّما تضع أنت يدويا أو بالأحرى تقوم باختيار اللون الذي يناسبك سواء بالنسبة للفئة الأولى أو الفئة الثانية ..مثلا الفئة التي ستحال على الورديات إخترت لها اللون الأخضر فستجد بالموديل الرقم 14 الذي هو رمز هذا اللون .. وكذلك الرقم 3 الذي هو رمز اللون الأحمر بالنسبة للفئة الأخرى ..إختر الألوان التي تناسبك مثلما شئت ..و تفضّل صورة للوحة رموزها : في الأخير أخي الكريم سعد الفقير ..مثلما قلت لك بأول كلامي أنّها مجرّد محاولة من أجل دفع الموضوع و عدم إيقاف عجلة سيرورته .. أكمل أنت الباقي فضلاً لا أمرًا فائق إحتراماتي سعد الفقير 1.rar سعد الفقير 2.rar تم تعديل أكتوبر 30, 2015 بواسطه عبد العزيز البسكري
سعد الفقير قام بنشر أكتوبر 31, 2015 الكاتب قام بنشر أكتوبر 31, 2015 أخي العزيز عبدالعزيز شكرا لك ولكن مازالت المشكلة قائمة وعند بحثي في الانترنت وجدت بان هناك صعوبة جدا في ادارج كود VBA في حال وجود معادلات في احد الاعمدة للاعتماد عليها كنتائج حسب معلوماتي المتواضعة. فمعنى ذللك يجب ان تعمل جميع الاعمدة بكود مستقل لكي تفي بالغرض المطلوب. علما بان الهدف دائما من البرامج هي تقليل التدخل البشري وجعل الاكواد هي من تعمل لراحتك فلذللك سوف اقوم بشرح المطلوب بخطوات فربما اجد من يعمل كود شامل لهذا الملف. المتطلبات : 1- في العمود N يتم ادخال التاريخ الهجري لبداء الاجازة. 2- في العمود P يتم ادخال مدة الاجازة. 3- في العمود O يتم اتوماتيكيا حسب نهاية الاجازة وادراج تاريخ النهاية اتوماتيكيا حسب مدة الاجازة في العمود P . 4- في العمود Q يتم احتساب المتبقي من الاجازة حسب تاريخ اليوم الهجري ومدة الاجازة. 5- عند بلوغ المتبقي للاجازة مدة 3 ايام يتم أضهار رسالة باسم الموظف من العمود G تفيد بان " يجب ادراج - أسم الموظف- في الورديات" ويتم تلوين الخلية باللون الاخضر. 6- عند انتهاء الاجازة يتم أدراج كلمة "أنتهت" في العمود Q ويتم تلوين الخلية بالاحمر ويتم ادراج كلمة "لم يباشر" في العمود S ويتم اضهار رسالة تفيد بان "يجب على - أسم الموظف- مراجعة شئون الموظفين" 7- عند وضع الرقم 1 في العمود T يتم تحويل كلمة "لم يباشر" الى كلمة "باشر" ويتم ايقاف اضهار الرسالة الخاصة بهذا الموظف. اتمنى باني وفقت بالشرح. ولكم جزيل الشكر
سعد الفقير قام بنشر أكتوبر 31, 2015 الكاتب قام بنشر أكتوبر 31, 2015 بسم الله ماشاء الله اوفيت وكفيت ابو عيد اتيت بفكرة الفورم التي لم تخطر في بالي سلم فكرك. نعم هذا هو المطلوب جزيت خيرا. ولكن عندي سؤال هل ابقي المعادلات الموجودة في بعض الخلايا كما هي ام لا داعي لوجودها؟ وهل يمكن اضافة زر في حالة رغبتي في الاطلاع على الاسماء مرة اخرى؟
KHMB قام بنشر أكتوبر 31, 2015 قام بنشر أكتوبر 31, 2015 السلام عليكم ورحمة الله بعد إذن اخونا الفاضل أبو عيد. 1- ما لاحظته انة لازم تبقي علي المعادلات في الخلايا إذا هناك خلاف ذلك سيرد علينا صاحب الحل. 2- ممكن إضافة الزر وتتطلع علية وقت ماتشاء تفضل إليك الملف بعد إضافة الزر فقط لإستدعاء الفورم. اخيك أبو الحسن والحسين ssss1.rar
أبوعيد قام بنشر نوفمبر 1, 2015 قام بنشر نوفمبر 1, 2015 أحسنت يا أبا الحسن والحسين أخي سعد الفقير : الكلام ما قاله أبو الحسن والحسين لا بد من وجود المعادلات حتى تعطي النتيجة المطلوبة وأما في حالة رغبتك في مشاهدة الأسماء مرة أخرى فحل الأخ الكريم أعلاه يفي بالغرض رضي الله عن صحابة رسول الله أجمعين أمين 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.