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

AbuuAhmed

الخبراء
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    16

كل منشورات العضو AbuuAhmed

  1. لا تحكموا على ما أقصده من العنوان، فالمعنى المقصود في نص الموضوع ضمنا. فالتلفزيون مثلا اختراع مذهل ولكن ليس هنا في مواقع البرمجه مكانه. لن ترى تاجر موكيت يفتح نشاطا لغسيل الموكيت والفهم عليكم. فالذكاء الاصطناعي مهم جدا ويحتاج إلى مواقع متخصصة فيه وليس هنا مكانه أيضا. نحن نتكلم العربية يا سادة.
  2. نصيحة لوجه الله لا تشجعون على استعمال هذه المواقع وخصوصا المهتمين بالبرمجة، هذه ستعطل عقولكم عن التفكير والإبداع واحتراف كتابة الأكواد/الشفرات. يمكن اللجوء لهذه المواقع عند فشل صناع الشفرات لحل مشكلة ما، علما أن ما تقدمه هذه المواقع ما هو إلا تجميع مقنن لعمل مبرمجين آخرين. أتوقع لا سمح الله بعد عشر سنوات من الآن لن تجدوا من يجيد كتابة الأكواد وسترون مبرمجين زائفين يمكن بالكثير نطلق عليهم معدو برامج، وربما ستغلق مواقع البرمجة لعدم جدواها العلمي. موفقين.
  3. هدية مني لكم هذا كود يختصر الوقت لمستخدمي النافذة الفورية حيث يمسح كامل النصوص/المخرجات السابقة قبل أي إرسال نصوص أو مخرجات جديدة جربوه وزودونا بأي مشاكل تواجهونها للتعديل عليه. Sub DebugClear() 'AbuuAhmed 2024/11/01 Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") With WshShell .SendKeys "^g", True .SendKeys "^a", True .SendKeys "{DEL}", True End With Set WshShell = Nothing End Sub
      • 1
      • Like
  4. أكواد الترتيب هي ناتج عملية تسجيل للماكرو لم أنتبه أنه يحدد آخر سطر مع أن في التسجيل كنت أختار كامل العمود. وقد تم التعديل على الكود ليتعامل مع آخر سطر بالزيادة أو النقصان. توزيع الطلاب_04.xlsm
  5. مساهمة ثالثة مني إصافة إلى المساهمتين السابقتين لزميلاي. توزيع الطلاب_03.xlsm
  6. جرب محاولتي الأولى AmrVacations_01.xlsx
  7. قدم لنا أي فكرة ممكن نحولها إلى أكواد ربما لو يكون هناك توزيع نسب للأبعاد يكون البحث أقرب لمطلبك مثلا N تعطيه 50% والـ E 30% والـ Z يأخذ 20% وهكذا. أنا قدمت اجتهادي وننتظر من الزملاء تقديم أفكار أخرى ويمكنك كذلك عرض السؤال على منتدى أكسس فلديهم الكثير ممن يجيد كتابة الأكواد كما خبراء الاكسل.
  8. تم التعديل على الكود للتسريع فقط. Function getAvgPer(N1 As Double, E1 As Double, Z1 As Double, _ N2 As Double, E2 As Double, Z2 As Double) As Double getAvgPer = (IIf(N1 < N2, N1 / N2, N2 / N1) + _ IIf(E1 < E2, E1 / E2, E2 / E1) + _ IIf(Z1 < Z2, Z1 / Z2, Z2 / Z1)) _ / 3 End Function Function getClosestID(N1 As Double, E1 As Double, Z1 As Double) As Double Dim Sht As Worksheet Dim row As Long, lRow As Long Dim ClosestVal As Double, CurrVal As Double Dim ClosestID As Long Application.ScreenUpdating = False Set Sht = Sheets("1") With Sht lRow = .Range("A1").End(xlDown).row For row = 1 To lRow CurrVal = getAvgPer(N1, E1, Z1, .Cells(row, 2), .Cells(row, 3), .Cells(row, 4)) If CurrVal > ClosestVal Then ClosestVal = CurrVal ClosestID = .Cells(row, 1) If ClosestVal = 1 Then Exit For End If Next row End With getClosestID = ClosestID Set Sht = Nothing Application.ScreenUpdating = True End Function
  9. جرب هذه المحاولة ربما فيها الحل Zone-02-1copy_01.xlsm
  10. استفسار: هل أحداثيات مساحية تعني أحداث مواقع جغرافية؟ وإذا كان الجواب بنعم هل هذه الأرقام عبارة عن درجات قوسية؟ أقصد درجة ودقيقة وثانية.
  11. - الإجازة السنوية هي عدد الأيام للإجازات المستحقة بعد انقضاء سنة (عمل) كاملة ولا يشترط أن تكون من بداية سنة تقويمية. - قد تمر أكثر من سنة عمل والموظف لا يتحصل على زيادة في الراتب أو في أيام الإجازة أو قد يحصل عليها بعد شهور قليلة. - يفترض أن الزيادات لا تحصل وسط شهر تقويمي ولا وسط إجازة مستخدمة. - عند وعد الموظف المستخدم لإجازته بزيادة وعند عودته فيفترض أن تلحقه الزيادة مع بداية أول شهر عمل بعد المباشرة أو إذا لزم مع بداية الشهر الجاري والذي انقضى جزء منه في الإجازة المستخدمة. - من الأخطاء أن يعطى الموظف إجازة جديدة على إجازة مستحقة والمفترض أن تعطى على فترة عمل حضورية/فعلية جديدة. - يجب أن تحسب فترة الإجازات المستحقة من ضمن فترة الخدمة وتدخل من ضمن مكافأة نهاية الخدمة وتحسب على آخر راتب. - رصيد الإجازات بالسالب يجب أن تخصم من فترة الخدمة. المطلوب فقط جدولين جدول للزيادات وجدول للإجازات فقط ولا يهم أبدا الإجازة تمت خلال سنة أو سنتين. أعتقد ما عمله السائل مطابق للمطلوب إلا إذا غفلت أنا عن بعض التفاصيل. تحياتي
  12. نجح معي ونجح مع محمد صالح من أعجابه على الإجابة. طبعا أقصد إجابتي الثانية.
  13. هذا الموضوع به مخالفة لقوانين المنتدى ابتدأ بطلب توزيع أيام الشهر وتم حلها من أول إجابة. ثم تم طلب حل مشكلة طباعة لم تذكر في الطلب منذ البداية أي بمثابة سؤال جديد منفصل. فالمفاضلة التي تمت ليس لها علاقة بالسؤال والخطأ هنا مشترك من السائل ومن زميلي ومن الإشراف الذي لم يتدخل.
  14. فقط أدخل تاريخ الشهر في الخلية "I4" SHADY TIME TABLE 1_01.xls
  15. محاولتي توجد دالة بالـ vba لحساب أي مدة بالسنوات. الاجازات_01.xlsm
  16. يريد معرفة إجمالي المبيعات لو كانت مجهولة مع وجود/معرفة الصافي والنسبة أيضا وقيمتها 2.50%. ربما السائل أخذ بجوابي واكتفى كما يفعل الكثير منهم. نحتاج معرفة نسبة الصافي بالمعادلة التالية: 100% - 2.50% = 97.59% ثم نقسم مبلغ الصافي على نسبته فنحصل على إجمالي المبيعات.
  17. جرب اقسم الصافي على 97.5%
  18. ألاحظ (كثير) ممن يستخدمون أكواد آخرين القيام بـ "تنظيم" الكود على هواه وهذا تعد على "صناعة" هذا المبرمج فالبرمجة كالصناعة لها بصمتها وكثير من الأحيان يمكن التعرف على المبرمج من طريقة كتابته للأكواد. الأدهى أنه يتجرأ ويقوم بالتعديل على هذه الأكواد وغالبا سيتسبب في حصول إخفاقات وفشل في إعطاء مخرجات صحيحة ستنسب لصانعها بعد تناقلها وكثرة التعديلات والمعدلين على الكود هذا إذا كان أمينا وأبقى على اسم المبرمج أعلى الكود. الحل والنصيحة: عليك أن تفتح موديولا خاصا بالأصل ولا تلمسه البتة ثم افتح موديولا آخرا يحمل اسمك وتذكر فيه المصدر وتستطيع استخدام نفس الدوال بتعديل اسم الدالة ولو بإضافة رقم 2 على نهاية الاسم. واختصارا للوقت لا تقوم بالتعديل على كامل الدالة بل استدعيها في دالتك الجديدة وقم بالتعديل على مخرجاتها بما يناسبك ولا تنسى في موديول مستقل خاص بك. ما دعاني لكتابة هذا الموضوع اطلاعي على شفرة للتفقيط من عمل أحد عمالقة المبرمجين شوهت تشويها كبيرا جدا لدرجة أني كرهت المواصلة في رؤية تلك الحالة من الفوضى والتشويه مع إزالة اسم كاتب صانع الشفرة الأصل. الآن توجد قوانين بيئية تخالف المتسببين في أي تشويه بصري، فاعملوا بقوانينهم لشفراتكم أيضا.
      • 2
      • Like
  19. محاولة أولى الشروط غير واضحة بشكل كاف، واضطررت للتخمين، اختبر الكود بتجارب عديدة ودون ملاحظاتك وسأقوم بتوجيه بعض الأسئلة بعد تجربتك الأولى إن شاء الله. حساب العمولة_01.xlsm
  20. To disable the Esc key Application.EnableCancelKey = xlDisabled To re-enable it Application.EnableCancelKey = xlInterupt
  21. جرب أن يكون الكود في موديول عام.
  22. أرجو الانتباه أن ملف المقارنة ليس للمفاضلة فما أتى به الأخ @محب المنتدى صحيحا وهو يستخدم دوال الاكسل والمخصصة لهذه الحسابات، وما أتيت به أنا كذلك قد يكون صحيحا ولكنها معلومات عندي قبل أن ينشأ الاكسل. أنا أتصور أن الاثنين صحيحان ويمثلان نوعين من أنواع الفوائد، وتحتاج إلى معرفة الفرق بينهما وتحديد مسماهما العربي كما تصنيفك في السؤال. حساباتي هي تحت تصنيف الأقساط المتساوية بحساب الفوائد البسيطة.
  23. محاولتي للبسيطة حسب تخميني قبل أن أرى مشاركة الزميل محب المنتدى حاولت في المركبة وخرجت بأرقام فلكية، قد أحاول غدا إن شاء الله. تنويه: المبالغ المحسوبة هي مجموع الفوائد يفترض تجمع على أصل المبلغ ثم تقسم على عدد الشهور أو السنين لمعرفة القسط. تم التوصل إلى معادلة مجموع المدد والتي تختصر العمل بحيث لا نحتاج لعمل حلقة تكرار كما المثال الأول. المعادلة: (عدد الأقساط * (رقم أول قسط + رقم آخر قسط)) / 2 حساب الفوائد_01.xlsm مقارنة لحساب الفوائد_01.xlsx
×
×
  • اضف...

Important Information