بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

AbuuAhmed
الخبراء-
Posts
1071 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
17
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو AbuuAhmed
-
مطلوب دالة للبحث عن قيمة تقريبية لاحداثيات مساحية
AbuuAhmed replied to Taher Shawki's topic in منتدى الاكسيل Excel
استفسار: هل أحداثيات مساحية تعني أحداث مواقع جغرافية؟ وإذا كان الجواب بنعم هل هذه الأرقام عبارة عن درجات قوسية؟ أقصد درجة ودقيقة وثانية. -
- الإجازة السنوية هي عدد الأيام للإجازات المستحقة بعد انقضاء سنة (عمل) كاملة ولا يشترط أن تكون من بداية سنة تقويمية. - قد تمر أكثر من سنة عمل والموظف لا يتحصل على زيادة في الراتب أو في أيام الإجازة أو قد يحصل عليها بعد شهور قليلة. - يفترض أن الزيادات لا تحصل وسط شهر تقويمي ولا وسط إجازة مستخدمة. - عند وعد الموظف المستخدم لإجازته بزيادة وعند عودته فيفترض أن تلحقه الزيادة مع بداية أول شهر عمل بعد المباشرة أو إذا لزم مع بداية الشهر الجاري والذي انقضى جزء منه في الإجازة المستخدمة. - من الأخطاء أن يعطى الموظف إجازة جديدة على إجازة مستحقة والمفترض أن تعطى على فترة عمل حضورية/فعلية جديدة. - يجب أن تحسب فترة الإجازات المستحقة من ضمن فترة الخدمة وتدخل من ضمن مكافأة نهاية الخدمة وتحسب على آخر راتب. - رصيد الإجازات بالسالب يجب أن تخصم من فترة الخدمة. المطلوب فقط جدولين جدول للزيادات وجدول للإجازات فقط ولا يهم أبدا الإجازة تمت خلال سنة أو سنتين. أعتقد ما عمله السائل مطابق للمطلوب إلا إذا غفلت أنا عن بعض التفاصيل. تحياتي
-
الغاء زر الامر Esc اثناء تنفيذ الكود
AbuuAhmed replied to abed14092017's topic in منتدى الاكسيل Excel
نجح معي ونجح مع محمد صالح من أعجابه على الإجابة. طبعا أقصد إجابتي الثانية. -
ادراج جميع ايام الشهر بمجرد اختيار الشهر
AbuuAhmed replied to ahmedabuzena's topic in منتدى الاكسيل Excel
هذا الموضوع به مخالفة لقوانين المنتدى ابتدأ بطلب توزيع أيام الشهر وتم حلها من أول إجابة. ثم تم طلب حل مشكلة طباعة لم تذكر في الطلب منذ البداية أي بمثابة سؤال جديد منفصل. فالمفاضلة التي تمت ليس لها علاقة بالسؤال والخطأ هنا مشترك من السائل ومن زميلي ومن الإشراف الذي لم يتدخل. -
ادراج جميع ايام الشهر بمجرد اختيار الشهر
AbuuAhmed replied to ahmedabuzena's topic in منتدى الاكسيل Excel
فقط أدخل تاريخ الشهر في الخلية "I4" SHADY TIME TABLE 1_01.xls -
محاولتي توجد دالة بالـ vba لحساب أي مدة بالسنوات. الاجازات_01.xlsm
-
يريد معرفة إجمالي المبيعات لو كانت مجهولة مع وجود/معرفة الصافي والنسبة أيضا وقيمتها 2.50%. ربما السائل أخذ بجوابي واكتفى كما يفعل الكثير منهم. نحتاج معرفة نسبة الصافي بالمعادلة التالية: 100% - 2.50% = 97.59% ثم نقسم مبلغ الصافي على نسبته فنحصل على إجمالي المبيعات.
-
جرب اقسم الصافي على 97.5%
-
ألاحظ (كثير) ممن يستخدمون أكواد آخرين القيام بـ "تنظيم" الكود على هواه وهذا تعد على "صناعة" هذا المبرمج فالبرمجة كالصناعة لها بصمتها وكثير من الأحيان يمكن التعرف على المبرمج من طريقة كتابته للأكواد. الأدهى أنه يتجرأ ويقوم بالتعديل على هذه الأكواد وغالبا سيتسبب في حصول إخفاقات وفشل في إعطاء مخرجات صحيحة ستنسب لصانعها بعد تناقلها وكثرة التعديلات والمعدلين على الكود هذا إذا كان أمينا وأبقى على اسم المبرمج أعلى الكود. الحل والنصيحة: عليك أن تفتح موديولا خاصا بالأصل ولا تلمسه البتة ثم افتح موديولا آخرا يحمل اسمك وتذكر فيه المصدر وتستطيع استخدام نفس الدوال بتعديل اسم الدالة ولو بإضافة رقم 2 على نهاية الاسم. واختصارا للوقت لا تقوم بالتعديل على كامل الدالة بل استدعيها في دالتك الجديدة وقم بالتعديل على مخرجاتها بما يناسبك ولا تنسى في موديول مستقل خاص بك. ما دعاني لكتابة هذا الموضوع اطلاعي على شفرة للتفقيط من عمل أحد عمالقة المبرمجين شوهت تشويها كبيرا جدا لدرجة أني كرهت المواصلة في رؤية تلك الحالة من الفوضى والتشويه مع إزالة اسم كاتب صانع الشفرة الأصل. الآن توجد قوانين بيئية تخالف المتسببين في أي تشويه بصري، فاعملوا بقوانينهم لشفراتكم أيضا.
-
- 2
-
-
محاولة أولى الشروط غير واضحة بشكل كاف، واضطررت للتخمين، اختبر الكود بتجارب عديدة ودون ملاحظاتك وسأقوم بتوجيه بعض الأسئلة بعد تجربتك الأولى إن شاء الله. حساب العمولة_01.xlsm
-
الغاء زر الامر Esc اثناء تنفيذ الكود
AbuuAhmed replied to abed14092017's topic in منتدى الاكسيل Excel
To disable the Esc key Application.EnableCancelKey = xlDisabled To re-enable it Application.EnableCancelKey = xlInterupt -
الغاء زر الامر Esc اثناء تنفيذ الكود
AbuuAhmed replied to abed14092017's topic in منتدى الاكسيل Excel
جرب أن يكون الكود في موديول عام. -
محتاج المساعدة فى حساب الفائدة البسيطة و المركبة و المتناقصة
AbuuAhmed replied to ehabaf2's topic in منتدى الاكسيل Excel
أرجو الانتباه أن ملف المقارنة ليس للمفاضلة فما أتى به الأخ @محب المنتدى صحيحا وهو يستخدم دوال الاكسل والمخصصة لهذه الحسابات، وما أتيت به أنا كذلك قد يكون صحيحا ولكنها معلومات عندي قبل أن ينشأ الاكسل. أنا أتصور أن الاثنين صحيحان ويمثلان نوعين من أنواع الفوائد، وتحتاج إلى معرفة الفرق بينهما وتحديد مسماهما العربي كما تصنيفك في السؤال. حساباتي هي تحت تصنيف الأقساط المتساوية بحساب الفوائد البسيطة. -
محتاج المساعدة فى حساب الفائدة البسيطة و المركبة و المتناقصة
AbuuAhmed replied to ehabaf2's topic in منتدى الاكسيل Excel
محاولتي للبسيطة حسب تخميني قبل أن أرى مشاركة الزميل محب المنتدى حاولت في المركبة وخرجت بأرقام فلكية، قد أحاول غدا إن شاء الله. تنويه: المبالغ المحسوبة هي مجموع الفوائد يفترض تجمع على أصل المبلغ ثم تقسم على عدد الشهور أو السنين لمعرفة القسط. تم التوصل إلى معادلة مجموع المدد والتي تختصر العمل بحيث لا نحتاج لعمل حلقة تكرار كما المثال الأول. المعادلة: (عدد الأقساط * (رقم أول قسط + رقم آخر قسط)) / 2 حساب الفوائد_01.xlsm مقارنة لحساب الفوائد_01.xlsx -
حسب المطلوب Attendane_01.xlsm
-
محتاج المساعدة فى حساب الفائدة البسيطة و المركبة و المتناقصة
AbuuAhmed replied to ehabaf2's topic in منتدى الاكسيل Excel
هذه حسابات تجارية تدرس في المعاهد والمراكز التعليمية التجارية ولها قوانين خاصة كـ (حساب المدد) بالأيام وليس القصد فيها الفرق بين تاريخين كما يفهمها المبرمجون مني. لو تملك القوانين ضعها وسنحولها إلى معادلات حسابية برمجية. -
هذا المرفق به الثلاث طرق الأصل بعد التصحيح و فكرتي للاختبار لإيصال الفكرة الصحيحة للسائل وكود السائل الأخير. آخر مشاركة لي فلن أرد على مشاركة إضافية من الجميع وشكرا لكم. Stock123_03.xlsm
-
وعليكم السلام حياك الله أخي محمد، الحذف والإخفاء هما عند المتصفح سيان، وما تسميه تسهيلا قد يكون تشويها ولها مسميات أخرى لا أريد ذكرها فلي تجربة مريرة مع منتدى الأكسس من قبل. أنا لا أبحث ولا أسعى للحصول على هذا الاختيار وبالذات لما يكون عن طريق المشرفين فأنا من المعارضين لإعطاء هذه الصلاحية للمشرفين والأفضل تركها للسائل وإن أساء استخدامها وهذا لا يمنع من مشاركة المشرف في إبداء رأيه بالمشاركة. غير صحيح فهذه المشاركة فقط شرح لجزئيتين من الكود لإفهام السائل والمشاركة على قولك أخفيت وهو كامل الكود، وقد أعدت نشره مرة أخرى بعد الإخفاء. ما جهله السائل والمشرف أن هناك حلان، حل أساسي وهو تنقيح (تصحيح) الكود الأساس الذي أتى به السائل والأخر (وسيلة) حل مفترح صممته بعد إضافة ثلاثة أعمدة إضافية وطلبت من السائل تجربة النتائج لأنه تعثر في شرح مطلبه بالشكل الصحيح وكان هذا الكود بمثابة وسيلة لاختبار مخرجات الكود الأصل، وطبعا لا يمنع من استخدام فكرة الاختبار كحل بديل عند الرغبة. أشكرك على تجاوبك والتكرم بالرد.
-
أنا لا أعرف ما الهدف من حذف نقاش في صلب الموضوع!! اترك المناقشة كما هي لأن فيها تبيان لمعاناة بعض المتصدين لأسئلة الأعضاء. من ضمن المشاركات المحذوفة ردي على صاحب السؤال أنه بعد شرحه الطويل والذي أجهد نفسه بكتابته لا يمثل المطلوب وعند تطبيقه سوف يعطي نتائج مخالفة للصورة المرفقة. وهذا جزء من المعاناة يجب أن تبقى ويتعلم منها الآخرون. يوجد في منتدى آخر من منتديات أوفيسنا تحشر "دردشة خاصة" بين المشرفين والمراقبين ليس لها علاقة بالعلم ولا البرمجة ولا الموضوع نفسه بل عبارة عن نكت ومزاح وقصص ومجاملات وغيره وتمر دون أن يتدخل أحد بحذفها، وأنتم هنا ما شاء الله تريد تأخذ أول سؤال وآخر جواب وتحذفون ما ترونه من وجه نظركم غير مفيد. قننوا الصلاحيات.
-
إلى المشرفين المحترمين: لماذا تم حذف هذه المشاركة المشار إليها في سؤالي!! حذف آخر كود منقح يحرف المناقشة عن مفهومها الصحيح!! وفيها خلاصة الحل (الزبدة). نسخة مع التحية إلى @محمد طاهر عرفه الكود المحذوف والمقصود في سؤالي أعلى المشاركة: Sub KeepZeroDuplicates() Dim ws As Worksheet, CheckRange As Range Dim data As Variant, checkCols As Variant Dim row1 As Long, row2 As Long Application.ScreenUpdating = False 'Set worksheet and last row Set ws = ActiveSheet 'Replace with your sheet name if needed row1 = ws.Cells(ws.Rows.count, "A").End(xlUp).row 'Store data in an array for efficient processing data = ws.Range("A1:E" & row1).Value 'Adjust range as needed 'Specify columns to check for duplicates checkCols = Array(1, 4, 5) 'Replace with column numbers 'Loop through data array For row1 = 2 To UBound(data) 'Start from second row For row2 = 2 To row1 - 1 DoEvents 'Check for duplicate in specified columns If IsDuplicate(data, row1, row2, checkCols) Then 'If Duplicate and zero quantity If data(row1, 3) = 0 Then ws.Cells(row1, 1) = "2Del" Exit For End If End If Next row2 Next row1 For row1 = UBound(data) To 2 Step -1 If Cells(row1, 1) = "2Del" Then Rows(row1).Delete Shift:=xlUp End If Next row1 Application.ScreenUpdating = True MsgBox "Done" End Sub Function IsDuplicate(data As Variant, row1 As Long, row2 As Long, checkCols As Variant) As Boolean Dim index As Long For index = LBound(checkCols) To UBound(checkCols) If data(row1, checkCols(index)) <> data(row2, checkCols(index)) Then Exit Function End If Next index IsDuplicate = True End Function
-
هل جربت الكود في مشاركتي قبل الأخيرة ولم ينجح؟!! عموما أنا حليت لك أكبر مشكلتين في الكود: أولهما مفتاح التكرار حيث بدلته من: checkCols = Array(1, 2, 3, 4, 5) إلى: checkCols = Array(1, 4, 5) وكذلك تبديل عملية الحذف بحيث تكون من الأخير إلى الأول وهنا لا تحتاج إلى ضبط متغير row1 بعد كل عملية حذف ولا نحتاج لمقاطعة حلقة التكرار. يفترض أنك تراعي تعبنا بدلا من أن تأخذ جزء من هنا وجزء من هناك ثم ترجع بعبارة رأيت المشكلة أو وجدت الحل. ميزة الحل السابق أن يحافظ على ترتيب الادخال. سؤال لك الخيار في الرد عليه: هل التعديلات من عملك أم هناك من تتواصل معه خارج المنتدى؟
-
مساعدة عاجلة في توزيع مبلغ على عدة شهور بحالات مختلفة
AbuuAhmed replied to osalls's topic in منتدى الاكسيل Excel
جرب التعديل واختبره جيدا توزيع الدفعات_03.xlsx -
مساعدة عاجلة في توزيع مبلغ على عدة شهور بحالات مختلفة
AbuuAhmed replied to osalls's topic in منتدى الاكسيل Excel
إذا شعرت بثقل/بطء المعادلات يمكن تحويلها إلى كود فيجوال. توزيع الدفعات_02.xlsx -
وهذا تنقيح للكود بطريقتي: Sub RemoveZeroDuplicates() Dim ws As Worksheet, count As Long Dim row As Long, lRow As Long Application.ScreenUpdating = False Sheets("Sheet3").Select Set ws = ActiveSheet With ws lRow = ActiveCell.SpecialCells(xlLastCell).row For row = lRow To 2 Step -1 If .Cells(row, 8) = "Yes" Then count = count + 1 .Rows(row).Delete Shift:=xlUp End If Next row End With Application.ScreenUpdating = True MsgBox "تم حذف " & count & " سجل" End Sub
-
فقط قبل نصف ساعة فهمت موضوعك، دائما عند تقديم مثال يجب تقديم الحل/الناتج المطلوب، بمعني تقول هذه المعادلة يفترض أن يكون جوابها هكذا. اختصرت لك كل هالمشقة والأكواد بسطر واحد فقط، آمل التجربة والعودة لنا بملاحظاتك. وبعد المزيد من التجارب أضفت سطر آخر 🙂 Function myRound(MainVal As Double, RoundVal As Double) As Double Dim Adj As Double Adj = (0.1 / RoundVal) * Sgn(MainVal) myRound = Round(MainVal / RoundVal + Adj) * RoundVal End Function وهذا سطر للاحتراز يمكن إضافته بداية الدالة عند الرغبة: If RoundVal < 10 Or RoundVal Mod 10 <> 0 Then Exit Function