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

محمد حسن المحمد

الخبراء
  • Posts

    2,216
  • تاريخ الانضمام

  • Days Won

    30

كل منشورات العضو محمد حسن المحمد

  1. السلام عليكم أرجو أن يكون مناسباً Sub Sort_Sum() Application.ScreenUpdating = False Sheets("البيانات").Range("Data").Copy Sheets("فرز وجمع").Range("Sort_Sum[اسم الموظف]").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False ActiveWorkbook.Worksheets("فرز وجمع").ListObjects("Sort_Sum").Sort.SortFields.Clear ActiveWorkbook.Worksheets("فرز وجمع").ListObjects("Sort_Sum").Sort.SortFields.Add Key:=Range("Sort_Sum[الشعبة]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("فرز وجمع").ListObjects("Sort_Sum").Sort.SortFields.Add Key:=Range("Sort_Sum[المبلغ]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("فرز وجمع").ListObjects("Sort_Sum").Sort.SortFields.Add Key:=Range("Sort_Sum[اسم الموظف]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("فرز وجمع").ListObjects("Sort_Sum").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("K2").FormulaR1C1 = _ "=SUMIF(Sort_Sum[[الشعبة]:[المبلغ]],[@الشعبة],Sort_Sum[المبلغ])" Range("K2").AutoFill Destination:=Range("شعب[المبلغ]") Range("a1").Select Calculate Application.ScreenUpdating = True End Sub فرز وجمع.xlsm
  2. أعتذر إليك أخي الكريم إن بدر مني ما يسوؤك أسأل الله تعالى أن يتقبل منا ومنكم صالح الأعمال وقد كانت أجوبتي تتعلق بالتاريخ وليس بالاسم وهذا التاريخ لا وجود لحقوله في برنامجك إلا ما تم إضافته مسبقا.
  3. السلام عليكم ورحمة الله وبركاته أرجو أن تكون النتيجة مقبولة باستخدام Pivot table فرز وجمع.xlsx
  4. صحيح ما قلت أخي الكريم، وما فعلته من كثافة في التنسيقات الشرطية لسببين: 1- أنه بالاجتهاد يمكننا تحقيق ما نريد حيث قمت بتغيير فكرة البناء على التنسيق المسبق من قبل الأخ صاحب السؤال. 2- أخي صاحب السؤال دون أن يقوم بتجربة الملف حسب التنسيق الذي أجريته قال أنه يستخدم لمرة واحدة وواقع الحال ينبئ باستخدام جداول عديدة. هذا فقط ما أردت إيضاحه لكم .... مع العلم أنني أضع علمك ومساعدتك للآخرين فوق رأسي فأنت أخي الكريم - ومن خلال متابعتي لإجاباتكم الرائعة - بمثابة القلب النابض في منتدى الإكسيل وأنا أغبطك على ذلك تقبل تحياتي العطرة لشخصكم الكريم والسلام عليكم ورحمة الله وبركاته.
  5. أخي الكريم @sft2005 هذا موضوعك الذي سألت عنه وأجبتك عليه: اذا الخلية في A تساوي الخلية في B امسح مافي الخلية A H19في الخلية =IF(I19<>"";"";IF(C19="";"";IF(TODAY()>=h2g(D19);G19;""))) ثم اسحب نزولاً أبعد كل هذا العمل تقوم ببساطة بحذف أفضل إجابة وقد أجبتك بشكل يرضيك ثم بعد ذلك تسلسلت أفكارك للبحث في نقاط أخرى ولأنني لم أجبك عليها واقترحت عليك كتابة موضوع آخر تصف فيه طلبك الجديد ...أليس هذا من الجحود بمكان!!... إلا أنني أرجو الثواب من الله تعالى وإن فعلت ما فعلت. جزاكم الله خيراً والسلام عليكم.
  6. لعلك صديقي العزيز لم تجرب المعادلة فقلت أنها بصراحة فكرة أن تعمل جدول اعتماداً على كتابة بيانات محددة أو رؤوس أعمدة للجدول جيدة. وهي بالأكواد أفضل، وكما أخبرنا الأخ المحترم lion heart أن الحدود غير دقيقة بالتنسيق الشرطي كلامه صحيح في حال اعتمدنا على التنسيق المسبق من قبلكم وإلغاء التنسيق من الصفوف الفارغة ولكن ماذا لو عكسنا المعادلة بحيث تكون الورقة خالية من التنسيقات ثم نقوم بتنسيقها(تنسيقات شرطية) حسب الجداول مع تمييز رؤوس الجداول بألوان وتنسيقات محددة تميزها عن البيانات المعطاة في الجداول، وحدود واضحة، أما مدى إنشاء الجداول ليس كما ذكرت - لمرة واحدة - بل مرات عديدة حتى نهاية الصفوف في الورقة كاملة ضمن عدد معلوم للأعمدة. تقبلوا تحياتي العطرة والسلام عليكم test.xlsx
  7. أقترح عليك أخي الكريم كتابة موضوع جديد تشرح فيه ما صعب عليك وخصوصاً أنه ليس لديك مجال لوضع تاريخ لسداد هذه المتأخرات وبمعنى آخر فإن برنامج يعالج لديك حسب المدة المحددة للسداد تاريخ كل قسط بشكل مسبق، وبذلك فأين مجال المتأخرات إذ تم حساب قيمة كل قسط بدقة. يرجى الانتباه إلى كتابة بيانات مدتها قريبة من التاريخ الحالي ليس قبل عشر سنوات كما لاحظت في برنامجك أخي الكريم. تقبل تحياتي العطرة والسلام عليكم.
  8. أشكرك جزيل الشكر وأعتذر مرة أخرى لك وأحترم علمك الغزير ما شاء الله بارك الله تقبل تحياتي العطرة والسلام عليكم
  9. السلام عليكم ورحمة الله وبركاته وبعد إذن أخي الكريم @lionheart إثراء للموضوع ،يمكن القيام بذلك عن طريق التنسيق الشرطي كما يلي: علماً أن نتيجة الكود الذي سطرته رائعاً أخي الكريم بارك الله بكم. عذراً لأن الأخ السائل طلب كود لإيجاد النتيجة لكن يمكنه فعلا ذلك دون كود والله أعلم =AND(MOD(ROW();1)=0;$A1="")
  10. السلام عليكم ورحمة الله وبركاته الحقيقة وحسبما فهمت منك ليست أقساط متأخرة بمعنى أن صاحبها تأخر في السداد بل هي أقساط متبقية لم يحن أوانها بعد وعلى هذا الأساس تكون المعادلة المطلوبة كما يلي في الخلية I19 واسحب نزولاً: =IF(h2g(D19)>TODAY();$C$14/$C$5;"") والسلام عليكم.
  11. أخي الكريم السلام عليكم ،هل جربت المعادلة السايقة في الخلية I19 واسحب نزولاً لكن ما لفت انتباهي أن كل تواريخك وضعت مسبقاً فأين مجال التاريخ المتأخر لبتم احتساب الناريخ عليه؟!... أما أنا فإنني أفنرض أنك ستغير التاريخ الهجري وعملت على هذا الأساس. وأما معادلة جمع الأقساط المتأخرة فقد وضعت من قبلكم . =IF(h2g(D19)>h2g($C$9);$C$11;"") تقبل تحياتي العطرة والسلام عليكم
  12. رسالة شكر لإخوتنا الكرام في قسم الأكسس على مبادراتهم الراقية السلام عليكم ورحمة الله وبركاته إخوتي الكرام ليس كل فاقد للبصر أعمى بل الأعمى الحقيقي هو ذاك الذي فقد بصيرته .... اللهم إنا نعوذ بك من عمى البصر وعمى البصيرة ، وهذا الأخير هو العمى الحقيقي ، أليس هناك من اجتمع له العميان والعياذ بالله حينما اعترض شاعر على حد من حدود الله تعالى بقوله: يقول أحد الشعراء : يد بخمس مئين عسجد وديت ما بالها قطعت في ربع دينار تناقضٌ ما لنا إلا السكوت له ونستعيذ بمولانا من النار شعر يدعي فيه أن الشريعة متناقضة يقول: إذا كانت دية اليد في حال قعطها خطأ خمس مائة دينار ذهب، وإذا سرقت ربع دينار تقطع فكيف هذا؟! فرد عليه أحد العلماء الكرام: قل لل........ عارٌ أيما عارِ جهل الفتى وهو عن ثوب التقى عاري لا تقدحن بنود الشرع عن شبهٍ شعائر الدين لم تقدح بأشعار يد بخمس مئين عسجد وديت ما بالها قطعت في ربع دينار عز الأمانة أغلاها وأرخصها ذل الخيانة فأفهم حكمة الباري جزاكم الله خيراً على إيجاد سبل لتعليم المكفوفين إخوتي الكرام في قسم الأكسس لكم مني جزيل الشكر على مبادراتكم الرائعة والسلام عليكم ورحمة الله وبركاته.
  13. السلام عليكم ورحمة الله وبركاته مباركة عليكم الترقية أخي الكريم تقبل تحياتي العطرة لشخصكم الكريم والسلام عليكم
  14. H19في الخلية =IF(I19<>"";"";IF(C19="";"";IF(TODAY()>=h2g(D19);G19;""))) ثم اسحب نزولاً جزاكم الله خيراً على هذا الإطراء الذي لم أرتقِ إليه ....ولكم بمثل ما دعوتم أخي الكريم ...الحمد لله الذي بنعمته تتم الصالحات الحقيقة لم أفهم الطلب جيداً ، لكنني أعتقد أنه إذا كانت تاريخ الدفعة أكبر من تاريخ نهاية العقد (بعده نكتب في الخلية I19 المعادلة التالية: =IF(h2g(D19)>h2g($C$9);$C$11;"") ونسحب نزولاً..... والله أعلى وأعلم ...وحسب اطلاعي على هذا الملف أعجبني تصميمه ومعادلاته وكل ما فيه وفقكم الله تعالى إلى ما يحب ويرضى والسلام عليكم.
  15. السلام عليكم ورحمة الله وبركاته أخي الكريم أجريت التعديل التالي على الملف المرفق لتكون الطباعة لديك ديناميكية لتحصل من خلالها مدى الطباعة كاملاً قل أو كثر كما تم تغيير الطباعة من أفقيه إلى عمودية ملاحظة: يرجى الانتباه إلى أنك إذا غيرت بإعدادات الطباعة سيتحول نطاق الطباعة إلى نطاق محدد وقد يكون أكبر مما هو محدد في تحرير الاسم في الصورة أدناه... فإن تغير ووجدت أن النطاق المراد طباعته أصبح أكبر فعليك بنسخ الكود أدناه ووضعه في مربع تحرير الاسم Print_Area Print_Area =OFFSET(الوصل!$C$1;;;COUNT(الوصل!$C$8:$C$200)+8;8) أما في الكود فقد تم وضع Print_Area كمدىً بدلاً من تحديده من خلية إلى أخرى على الشكل التالي: Private Sub CommandButton1_Click() Dim I As Long For I = Range("N8").Value To Range("O8").Value Sheets("البودرة").Range("A1:S8044").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("N1:P2"), CopyToRange:=Range("C6:J6"), Unique:=False Range("N7").Value = I Range("Print_Area").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Next I End Sub والله ولي التوفيق والسلام عليكم ورحمة الله وبركاته أخوكم أبو يوسف طبع الوصولات جملة واحدة حسب الارقام المختارة.xlsm
  16. وجزاكم بمثل ما دعوتم أخي الكريم الحمد لله الذي بنعمته تتم الصالحات تقبل تحياتي العطرة لشخصكم الكريم والسلام عليكم ورحمة الله وبركاته
  17. الحمد لله الذي بنعمته تتم الصالحات تقبل تحياتي العطرة لشخصكم الكريم والسلام عليكم ورحمة الله وبركاته
  18. وعليكم السلام ورحمة الله وبركاته أرجو أن يكون الحل مناسباً طبع الوصولات جملة واحدة حسب الارقام المختارة.xlsm
  19. =IF(ISNUMBER(P6);IF(P6>=85*$P$4/100;"ممتاز";IF(P6>=65*$P$4/100;"جيد جدا";IF(P6>=50*$P$4/100;"جيد";IF(P6<50*$P$4/100;"ضعيف"))));IF(TEXT(P6;"غ")="غ";"غائب";"خطأ")) =IF(ISNUMBER(Q6);IF(Q6>=85*$Q$4/100;"ممتاز";IF(Q6>=65*$Q$4/100;"جيد جدا";IF(Q6>=50*$Q$4/100;"جيد";IF(Q6<50*$Q$4/100;"ضعيف"))));IF(TEXT(Q6;"غ")="غ";"غائب";"خطأ")) =IF(ISNUMBER(R6);IF(R6>=85*$R$4/100;"ممتاز";IF(R6>=65*$R$4/100;"جيد جدا";IF(R6>=50*$R$4/100;"جيد";IF(R6<50*$R$4/100;"ضعيف"))));IF(TEXT(R6;"غ")="غ";"غائب";"خطأ"))
  20. السلام عليكم أخي الكريم ريثما تتم مساعدتك من قبل الإخوة ، عملت قائمة منسدلة في الملف المرفق إذ أجريت عليه بعض التعديلات يمكنك الاستفادة منها. قائمة منسدلة.xlsm
  21. أحسن الله إليك أخي الكريم @ابايوسف الحقيقة نظرت في ملفك ومن خلال ما رأيت أقول: إما أنك لم ترفع نسخة عن ملفك الأساسي تظهر فيها رؤوس الأعمدة التي تضيف تحتها البيانات بشكل واضح،والبيانات التي وضعتها كررت فيها اسماً محدداً لعدة صفوف 1- يحتاج الملف أولاً لتصفية تلقائية حسب اسم المخول كما ذكرت. 2- يحتاج أيضاً وضوح مسميات رؤوس الأعمدة. 3- بيانات وهمية تحاكي الواقع ليبنى على تلك الحاجات ما ترغبه في طباعة إيصالات ، حتى الإيصالات تحتاج لخلية بدء وخلية انتهاء لتكون حدود الطباعة واضحة تقبل تحياتي العطرة. والسلام عليكم
  22. السلام عليكم أخي الكريم لعله يفيدك بإذن الله أضف المعادلات التالية إلى الخلايا S6 ----------- T6-----------U6 =IF(ISTEXT(P6);"غائب";IF(P6>=85*$P$4/100;"ممتاز";IF(P6>=65*$P$4/100;"جيد جدا";IF(P6>=50*$P$4/100;"جيد";IF(P6<50*$P$4/100;"ضعيف"))))) =IF(ISTEXT(Q6);"غائب";IF(Q6>=85*$Q$4/100;"ممتاز";IF(Q6>=65*$Q$4/100;"جيد جدا";IF(Q6>=50*$Q$4/100;"جيد";IF(Q6<50*$Q$4/100;"ضعيف"))))) =IF(ISTEXT(R6);"غائب";IF(R6>=85*$R$4/100;"ممتاز";IF(R6>=65*$R$4/100;"جيد جدا";IF(R6>=50*$R$4/100;"جيد";IF(R6<50*$R$4/100;"ضعيف"))))) واسحب نزولاً.
  23. السلام عليكم ورحمة الله وبركاته أخي الكريم أرجو أن يكون المطلوب في الملف المرفق شيت المديرية الصف الرابع الابتدائي لغات.xlsm
×
×
  • اضف...

Important Information