اذهب الي المحتوي
أوفيسنا

أ / محمد صالح

أوفيسنا
  • Posts

    4469
  • تاريخ الانضمام

  • Days Won

    195

كل منشورات العضو أ / محمد صالح

  1. أخي الكريم إذا كنت تستعمل أوفيس 2003 وما قبله format---->sheet----->background تنسيق---->ورقة------->خلفية وإذا كنت تستعمل أوفيس 2007 وما بعده تبويب page layout ثم background تبويب تخطيط الصفحة ثم خلفية
  2. أخي الكريم تعالى نتحدث بهدوء إذاً أنت تريد وضع صيغة في خلية .... تمام؟ ثم يتم حساب ناتج الصيغة موضوع القيم سواء عشوائية أو ثابتة لا يغير في الهدف الأساسي المطلوب وهو : كتابة صيغة وحساب قيمتها بعد النسخ واللصق الخاص لعمود الناتج يتم الاحتفاظ بالنتيجة بدون تغيير فهل مثلا الرقم في الخلية الأولى كان 8 بعد اللصق الخاص أصبح 20 مثلا؟؟!! لا أعتقد ............. ولكن لأنك تستعمل الدالة rand وهي تقوم بتوليد رقم عشوائي فالذي يتغير هو الأرقام التي تقوم بحسابها وليس الناتج فمثلا الأرقام عند فتح الملف 8 * 2 والناتج 16 بعد نسخ ال 16 ولصقها كقيمة لن تجد الأرقام التي حسبتها (2 و 8) ولكن ناتجها 16 موجود ولن يتغير بل تغيرت الأرقام لأرقام عشوائية أخرى ولكن يظل الناتج ثابتاً وهذا ما طلبته أنت ............. وإذا كنت تبحث عن تثبيت الأرقام التي تم حسابها قم بالنسخ واللصق الخاص كقيم لخلايا الأرقام العشوائية وليس للناتج وستجد الأرقام والناتج صحيحين والله أعلم بما تريد أنت تنفيذه أخي الكريم
  3. أخي الكريم إمكانيات النموذج في الإكسل قليلة جداً إذا ما قورنت بالأكسس والفيجوال بيسك دوت نت ولكن ما الشكل الذي تريده أنت بالضبط؟ فمن الممكن أن يكون متاحاً في إكسل
  4. أخي الكريم alidroos زرا الخيار حضور وغياب يقومان نسخ عدد الساعات للموظف المحدد في اليوم المحدد ولا يقومان بنقل عدد الساعات لكل الموظفين ولكن ما يقوم بهذ هو زر تنفيذ على الكل وقد طرح هذا الأخ عبد الله في مشاركته المقتبسة ......... وبالنسبة لموضوع إثبات المتغيرات فلا أدري أي شيء تقصد للعلم الكود يعمل عندي حتى مع تنشيط الخيار الثاني require variable deceleration لأن جملة option explicit ليست مكتوبة في الكود
  5. الأخ الكريم أبو الحسن وبعد إذن الإخوة المشاركين ما تريده وأكثر موجود في هذه المشاركة http://www.officena.net/ib/index.php?showtopic=36867&view=findpost&p=220256
  6. المشكلة أخي الكريم في تحديد المدى من a2 إلى a11 وأنت كتبت الرقم الجديد في الخلية a12 ولتفادي ذلك تم تعديل المعادلة لتنظر في العمود بأكمله كما فعلنا مع دالة العدّ ................. تم تعديل المرفق في المشاركة 2
  7. أخي عبد الله الأخ صاحب الموضوع تقريباً ينوي استعمال حضور وغياب فقط لمجرد البحث أما عملية الإضافة للشيت فسيكون في عدد الساعات صفر في حالة الغياب وعدد الساعات في حالة الحضور
  8. هذا ما يقوم به اللصق الخاص أخي الكريم قم بكتابة المعادلة في أول خلية ثم قم نسخ المعادلة حتى أي مدى تريده سيتم حساب الخلايا التي تحتوي على المعادلة تلقائياً بعد نسخ المعادلة إلى نهاية المدى قم بتحديد المدى المطلوب ثم انسخه والصقه على طريقة اللصق الخاص ستجد أنه إذا تغيرت الخلايا الأولى لن يؤثر ذلك على الخلايا التي تم لصقها كقيم ........... ولا يوجد طريقة أخرى لتنفيذ ما تقوله إلا اللصق الخاص كقيم سواء يدوياً كما شرحت لك أو بالكود وذلك من خلال تسجيل ماكرو لما تم شرحه
  9. أخي الكريم الموضوع بسيط جداً من خلال اللصق الخاص بعد وضع المعادلة في الخلايا قم بتحديدها ثم نسخها ثم على نفس الخلايا المحددة اضغط بزر الفارة الأيمن ثم اختر paste special لصق خاص ثم اختر منها values قيم
  10. بعد إذن الأساتذة وبدون الاعتماد على أعمدة إضافية جرب أخي الكريم أن تضع هذه المعادلة في الخلية a2 =IF(SUM(COUNTIF(B2:E2,B2:E2))=COUNT(B2:E2),0,1) لا تنس الضغط على Ctrl+shift+enter بعد كتابة المعادلة لأنها معادلة صفيف
  11. أخي الكريم جرب أن تكتب كود الصورة في التوقيع بأن ترفع صورة لك على الإنترنت ثم تضع كود html الخاص بالصورة في مربع التوقيع كالتالي: <img src="path_to_file.jpg" /> حيث أن path_to_file.jpg هو مسار الصورة التي رفعتها على الإنترنت
  12. جرب هذا أخي الكريم ....... لاحظ أن المعادلة الموجودة في خلية العدد معادلة صفيف أي تكتبها ثم تضغط ctrl+shift+enter وليس enter فقط mas_unique_values.rar
  13. يا حبيبي كل ما تقوله موجود باستثناء حكاية عند الضغط على زر p من لوحة المفاتيح لأنه يتم تسجيله عند الضغط على زر الاختيار مباشرة (فلا تحتاج بعدها لضغط p )
  14. علام الشكر إذاً؟؟ جرب أخي الكريم ما يلي: أن تضغط على زر إظهار النموذج أن تختار اليوم من القائمة المجاورة لكلمة تاريخ اليوم أن تكتب رقم العامل في مربع النص المجاور لكلمة رقم العامل (سيتم إظهار الاسم ورقم الصف في التسميات المجاورة) أن تكتب عدد الساعات في المكان المخصص أن تضغط على حضور أو غياب أو تنفيذ على الكل ولن تجد اي شيء يحدث بعد كل هذا
  15. على العموم هذا ما فهمته من المطلوب أن يتم رصد ما هو مكتوب في عدد الساعات في الخلية المجاورة للموظف في عمود اليوم المختار وبالنسبة لموضوع تغييب موظف يفضل وضع 0 في حالة الغياب في خانة عدد الساعات وعدم كتابة نصوص وعذراً عن عدم مواصلتي المطلوب الخاص بعرض نتائج البحث لانشغالي Mas_Attendance_Roll.rar
  16. ماذا تقصد بتحضير أو تغييب موظف؟ هل تقصد كتابة حرف غ مثلا في الخلية المجاورة لاسمه في اليوم المحدد أم ماذا؟؟ وفي حالة الحضور هل يكتفى بكتابة عدد ساعات العمل أم ماذا؟؟
  17. ممكن ترفع الملفين وبإذن الله سيتم المطلوب
  18. أخي الكريم أبو عاصم وبعد إذن الأساتذة تم تعديل الكود لقراءة اسم الملف من الخلية a1 وإذا كنت تقصد بـ : إضافة مسار ملف الاكسيل ليحفظ فيه ملف الـ PDF أن يحفظ الكود في نفس مسار ملف الإكسل بدون استعراض للمجلدات لاختيار واحد منها يمكنك استبدال كود Macro1 بما يلي: Sub Macro1() Dim WB As Workbook Dim WS As Worksheet On Error Resume Next Set WB = ActiveWorkbook For Each WS In WB.Worksheets WS.Unprotect Next ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ ThisWorkbook.Path & "\" & ActiveSheet.Range("a1").Value & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True For Each WS In WB.Worksheets WS.Protect Next End Sub لاحظ أن كلمة ThisWorkbook.Path & "\" هي المسئولة عن مسار الملف الحالي وكلمة ActiveSheet.Range("a1").Value & ".pdf" هي المسئولة عن قراءة اسم الملف من الخلية a1
  19. بارك الله لك أخي جلال الحل صحيح ولكن أنا شخصياً لم أفهم معادلاتك ........... تصوري للحل: ثلث الدقائق التي مضت بعد الحادية عشرة صباحاً=28 ما بعد الحادية عشرة وقبل 28 الأخيرة = 2*28=48 (ثلثين وما بقي من الحادية عشرة وما بعد الثانية عشرة هو الثلث الثالث ويساوي 28) ما بقي حتى الثانية عشرة = 60-48=12 ما بعد الثانية عشرة = 28-12=16
  20. بالفعل أخي عبد الفتاح يبدو أن الإخوة أضافوا من عندهم (وبما فيهم أنا) ما لا يطلبه الأخ صاحب الموضوع المطلوب حسب السؤال هو دالة ceiling
  21. أخي الكريم أنا استعملت في الكود أن اسم النموذج userform1 فإذا كان النموذج لديك له اسم مختلف يمكنك كتابة اسم النموذج ثم الوسيلة show فمثلا إذا كان النموذج لديك اسمه form1 يمكنك فتحه بعد المدة المحددة بالكود التالي form1.show وليس userform1.show أتمنى أن يكون الأمر واضحاً
  22. أشكر كل من ساهم في هذا الموضوع وأقول لكم أن الألغاز ليست مضيعة للوقت ولا تعب للعقل بدون فائدة كما يظنها البعض بل هي الطريق السليم لتطوير قدرات العقل. لغز بسيط آخر: كم عدد الدقائق التي مضت بعد الثانية عشرة مساء إذا كان عددها منذ 28 دقيقة مضت يبلغ ثلث الدقائق التي مضت بعد الحادية عشرة صباحاً؟؟!!
  23. شكرا للأخوين عبد الله ويحيى حسين ولإثراء الموضوع هذا رابط لموضوع مشابه ودالة من تأليفي لهذا الغرض http://www.officena....80
  24. لتحديد المدة التي يتم تنفيذ الإجراء بعدها نغير في هذا السطر من sub timer vartimer = Format(Now + TimeSerial(0, 2, 0), "hh:mm:ss") حيث أن الدالة timeserial تضيف على الوقت الحالي وأول رقم للساعات وثاني رقم للدقائق وثالث رقم للثواني ............... ولإظهار نموذج إسمه userform1 بعد انتهاء المدة المحددة نغير الكود داخل الإجراء Sub yahm() إلى userform1.show ليصبح Sub yahm() userform1.show end sub مع حذف الكود الخاص بحفظ الملف وإطفاء الجهاز
  25. أخي الكريم لإضافة صباحاً ومساء لكود الأستاذ الحسامي غير كود الدالة UpdateForm لما يلي: Public Function UpdateForm() frmTimer.lblNow = Format(Now, "hh:mm:ss ampm") End Function تجدها في الموديول الثاني وإذا استعملتها في نموذج جديد يجب جعل خاصية مشروط في خصائص النموذج show modal تساوي false
×
×
  • اضف...

Important Information