اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

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

  1. بعد إذن الأستاذ جمال جرب أخي الكريم أن تستعمل هذه المعادلة =IF(MOD(A2,0.1)>0.05,ROUNDUP(A2,0),ROUNDDOWN(A2,0)) لعلها تكون المطلوب
  2. الأخ الكريم أبو حنين المعادلة تعني اختبار شرط إذا كان وقت العودة أقل من وقت الخروج (وهذا الشرط لن يتحقق إلا إذا كانت العودة في اليوم التالي) يتم إضافة 1 (بمعنى يوم أو 24 ساعة) على وقت العودة فتصير مثلا الساعة 6ص الساعة 30 ناقص مثلا الساعة 8م (20) يساوي 10ساعات وإذا لم يكن وقت العودة أقل لا يضيف شيء (يضيف صفر) على وقت العودة ثم يطرح وقت العودة الجديد - وقت الخروج
  3. تفضل أخي الكريم ضع هذه المعادلة في الخلية I5 =IF(H5<G5,1,0)+H5-G5 ويمكنك سحبها إلى I17
  4. بسم الله الرحمن الرحيم السلام عليكم جميعا وكل عام أنتم بكل خير أخي الكريم إذا كنت تقصد مثلا وجود بعض الأرقام في العمود A ووجود بعض النسب أمام كل رقم في العمود B وتريد إظهار النسبة المئوية في العمود C يمكنك وضع هذه المعادلة في العمود C في الخلية C1 =A1*B1 وأسفل هذه القيم تضع دالة الجمع العادية =SUM(C1:C10) وإذا أردت وضع معادلة واحدة للضرب والجمع بدون العمود c يمكنك استعمال هذه المعادلة =SUMPRODUCT(A1:A10,B1:B10)
  5. وفق الله الأستاذ إبراهيم في تعديل الخلية C10 ولم يضع معادلة الخلية F10 سهوا ولكني لاحظت اضطرابا في معادلة الخلية B10 وهذا المرفق بعد التعديل للعلم المعادلة الموجودة في B10 معادلة صفيف يلزم بعدها الضغط على CTRL+SHIFT+ENTER mas_رندة.rar
  6. كل عام وأنت بخير أخي الكريم * لا يوجد مرفق ثان اسمه مستخلص نهائي * وهل المستخلص الجديد سيكون ورقة عمل (شيت) بنفس الملف أم ملفا جديدا؟ * برجاء تحديد خانة الجاري والسابق من خلال اسم الخلايا يعني A1, B2 وهكذا يفضل عرض المطلوب بكل تفاصيله بأسلوب بسيط حتى يتمكن الزملاء من مساعدتك والوقت الذي يقضى في تفسير المطلوب يمكن أن يتم تنفيذه فيه بل وأقصر
  7. جرب نسخ الإجراء كله وبلاش حكاية التعديل دي Sub mas() For n = 1 To 10 If WorksheetFunction.Sum(Range("g" & 6 + n * 38 - 38 & ":g" & 37 + n * 38 - 38)) > 0 Then Range("g" & 6 + 1 * 38 - 38).Select PrintCurrentPage End If Next n MsgBox "Ok" End Sub
  8. ينفع جدا الاعتماد على مجموع الخلايا g6:g37 اللي هو المفروض يكون في الخلية g38 كما قلت سابقا من البداية لعمل ذلك يمكنك تغيير "f" التي في السطر الثالث إلى "g" وفي الأخير أنصحك أخي الكريم بمتابعة الدورات الموجودة في المنتدى حتى يكون لديك الأساسيات ومن ثم تنطلق في فضاء الإكسل
  9. بارك الله لك أخي خالد ولاختصار بعض الحروف يمكن كتابتها كما يلي: =SUM(INT((WEEKDAY(A2-{1,2,3,4,5})+B2-A2)/7))-SUMPRODUCT(--(C2:C10>=A2),--(C2:C10<=B2),--(WEEKDAY(C2:C10)<>6),--(WEEKDAY(C2:C10)<>7))
  10. الطبيعي والمنطقي في تنسيق الصفحات في إكسل أن تكون متساوية في عدد الصفوف والأعمدة وبعد فحص ملفك وجدت أن الصفحة الأولى 39 صفا ونظرا لأن عمليات التكرار في البرمجة منتظمة (يعني مضاعفات أي رقم) ففمت بضبط باقي الصفحات على 39 صفا واستعمالنا لخلية واحدة هي إجمالي المجموع g38 هو بديل لاستعمالنا لمجموعة كبيرة من الخلايا تقريبا 62 خلية ولا أدري كيف يكون تنسيق صفحة مختلف عن صفحة أخرى (دي فيها مجموع ودي مفيهاش) وإذا اعتمدت على خلية g46 أو g44 ومضاعفاتها فربما لن يتم طباعة أي صفحة (لأن هذا صف من صفوف صفحة وليس صفا يعبر عن الصفحة كلها كصف المجموع) .............. طبعا أكيد خضرتك متقصدش العمود F أو العمود G كلها أكيد تقصد ضمن الصفحة الواحدة لذلك يمكن تغيير كود الإجراء mas إلى ما يلي Sub mas() For n = 1 To 10 If WorksheetFunction.Sum(Range("f" & 6 + n * 38 - 38 & ":g" & 37 + n * 38 - 38)) > 0 Then Range("g" & 6 + 1 * 38 - 38).Select PrintCurrentPage End If Next n MsgBox "Ok" End Sub ويعني الشرط الذي تم تغييره إذا كان مجموع الخلايا F6:G37 أكبر من صفر يتم تحديد أول خلية في الصفحة ثم طباعة الصفحة الحالية وهكذا يتكرر الكود مع الخلايا F44:G75 بإضافة 38 إلى الرقمين وهو عدد صفوف الصفحة .................... رغم استحبابي للفكرة الأولى وهي تجميع هذا النطاق كله في خلية واحدة هي خلية المجموع وكل عام والجميع بخير
  11. لو قلنا كيف نصحح هذا الخطأ؟؟!! من يجعل المعادلتين متساويتين في النتائج
  12. هذا الكود iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row يعني تخصيص قيمة للمتغير iRow وهي رقم الصف التالي لآخر صف لأعلى من آخر صف في الشيت باختصار أول خلية فارغة بعد المكتوب
  13. فعلا أخي الكريم خالد خلدك الله في جنات النعيم الدالة الأولى أكثر دقة في حالة كتابة جميع تواريخ الأجازات بما فيها الأجازات التي تكون يوم الجمعة أو السبت (اللي هما أصلا أجازة) أما المعادلة الثانية تعتمد على طرح عدد الأجازات المحصورة بين تاريخ البداية والنهاية من العدد الكلي لأيام العمل بين التاريخين ....................... شفت الفرق يا اللي لسة بتستخدم أوفيس 2003 وما قبله يالا بينا نستحدم كل جديد
  14. تفضل أخي الكريم تم تعديل الصفحات ليكون عدد صفوف الصفحة 39 صفا وتم الاعتماد على الخلية G38 ومضاعفات 38 حتى 10 صفحات print more 0 current page.rar
  15. بسم الله الرحمن الرحيم السلام عليكم أخي الكريم أعتقد حضرتك كنت فتحت موضوع لنفس الغرض قبل كدة ولم توضح المطلوب بالضبط .............. إذا قلنا أن العمود F للكمية والعمود G للسعر الإجمالي فبالتالي لن يكون في العمود G أرقام أكبر من صفر إذا لم يكن في العمود F أرقام أكبر من صفر يعني ممكن نخلي الشرط على العمود G فقط نأتي للنقطة المهمة وهي العمل على خلية واحدة في العمود G وليكن مثلا خلية المجموع النهائي (للصفحة) * ولكن بعد ملاحظة ملفك المرفق وجدت أن خلية المجموع غير موجودة إلا في الصفحة الأولى فقط * وكذلك لاحظت أن فواصل الصفحات غير مضبوطة حيث تظهر الصفحة على أربع صفحات لذلك لكي تحصل على ما تريد رغم شكي في صياغة المطلوب ما الملفات التي تريد طباعتها؟؟!! يعني مثلا لو الخلية g38 فيها رقم أكبر من صفر يطبع ملف اسمه إيه ولو خلية تانية يطبع ملف تاني اسمه إيه ؟؟؟!!!!! أعتقد والله أعلم إنك تقصد طباعة الصفحة الحالية التي بها مجموع أكبر من صفر حتى لا يتم طباعة صفحات فارغة ................. برجاء تحديد المطلوب بدقة ولا يوجد شيء اسمه مستحيل إلا في عقول الكسالى
  16. السلام عليكم جميعا بعد إذن الأخ الكريم عبد العزيز حتى تتمكن من استعمال أشرطة الإزاحة ينبغي تغيير scrollheight إلى ضعف ارتفاع النموذج وكذلك scrollwidth وربما يفيد الأخ صاحب الموضوع هذا الفيديو وفقنا الله وإياكم لكل خير
  17. بارك الله لك أبا البراء فعلا هما لتحويل النواتج المنطقية true/false إلى 1/0 ........................ ولكن يوجد فرق بين دالة networkdays.intl والمعادلة التي وضعتها لنفس الغرض غير إصدار الأوفيس المعادلة الأولى =NETWORKDAYS.INTL(A2,B2,7,C2:C10) المعادلة الثانية =SUM(INT((WEEKDAY(A2-{1,2,3,4,5})+B2-A2)/7))-SUMPRODUCT(--(C2:C10>=A2),--(C2:C10<=B2)) هل من مدقّق وشديد الملاحظة؟
  18. ربما يفيدك هذا الرابط http://www.officena.net/ib/index.php?showtopic=56808&view=findpost&p=360485 كل عام أنتم بخير
  19. بارك الله لك أخي خالد وجزاك الله كل حير ملحوظة صغيرة: هاتان الدالتان ضمن أوفيس 2010 وما بعده فقط
  20. وإذا سمح لي أخي سليم سلمه الله من كل سوء بإثراء الموضوع (رغم ثرائه) لهواة الإكسل ومحترفيه: لحساب عدد (أيام العمل) بين تاريخين: * باستثناء العطلات الأسبوعية (الجمعة والسبت) * وباستثناء قائمة من الأجازات نستخدم هذه المعادلة: =SUM(INT((WEEKDAY(A2-{1,2,3,4,5})+B2-A2)/7))-SUMPRODUCT(--(C2:C10>=A2),--(C2:C10<=B2)) * ويمكن تغيير أيام العمل في الأرقام {1,2,3,4,5} حيث 1 يشير للأحد و 2 يشير للاثنين ..... وهكذا * ويمكن حساب عدد مرات يوم واحد السبت مثلا بين تاريخين باستبدال {1,2,3,4,5} إلى 7 بدون أقواس حيث تستعمل الأقواس مع اليومين فأكثر وهذه صورة للمعادلة ........................ ولا تنسوني من صالح دعائكم
  21. فكرة جميلة ومفيدة بارك الله لك أخي الكريم سليم وجزاك الله كل خير
  22. وإياك أخي الكريم فين العباقرة؟؟!! تعالوا نسلوا صيامنا
  23. لعمل ما تريد يمكنك تغيير الماكرو mas إلى ما يلي Sub mas() If Not Intersect(ActiveCell, Range("g5:h17")) Is Nothing Then ActiveCell = Format(Now, "hh:nn:ss ampm") End If End Sub وفقنا الله وإياكم لكل ما يحب ويرضى
  24. لا أدري سبب ظهور الخطأ عندك الملف يعمل 100% عندي ولكن لاحظ أنه تم إضافة هذا الكود عند فتح المصنف Private Sub Workbook_Open() Application.OnKey "{f1}", "mas" End Sub وهو يعني تنشيط الماكرو mas عندالضغط على زر f1 وكذلك تم إضافة موديول جديد به الإجراء mas Sub mas() ActiveCell = Format(Now, "hh:nn:ss ampm") End Sub ومعناه وضع الوقت الحالي بتنسيق الساعة والدقيقة والثانية وصباحا/مساءا في الخلية النشطة
  25. بعد إذن الحبيب ياسر يمكنك كتابة المسافة بين الدائرتين مثلا في الخلية A5 ثم في الخلية D5 نكتب هذه المعادلة =((2*22/7*D2/2)-(D3*D4))/D4 لتظهر لنا المسافة بين الدوائر الصغيرة الموجودة على محيط الدائرة الكبيرة الخارجية ويمكنك نسخ المعادلة أفقيا إلى الخلية E5 لتحسب للدائرة الصغيرة الداخلية
×
×
  • اضف...

Important Information