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

عبدالله بشير عبدالله

الخبراء
  • Posts

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

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

  • Days Won

    30

كل منشورات العضو عبدالله بشير عبدالله

  1. ، الصورة التي أرفقتها تُظهر 4 أزرار في مربع الحوار، وهو شيء غير ممكن عند استخدام MsgBox مباشرة في VBA، حيث يدعم MsgBox فقط حتى 3 أزرار كحد أقصى.
  2. استاذ ابو حمادة صندوق الاوامر في اكسل الافتراضيه لا تدعم اكثر من امرين الى 3 اوامر فقط وهي:- vbOKCancel (موافق - إلغاء) vbYesNoCancel (نعم - لا - إلغاء) vbAbortRetryIgnore (إيقاف - إعادة المحاولة - تجاهل) vbYesNo (نعم - لا) vbRetryCancel (إعادة المحاولة - إلغاء) إذا كنت بحاجة إلى أكثر من ثلاثة أزرار، يمكنك إنشاء UserForm يحتوي على أربعة أزرار او اكثر مخصصة لتنفيذ الأوامر التي تريدها. ويمكنك تسمية الازرار باي اسم شاهد الملف بواسطة UserForm اوامر userform.xlsb
  3. يتغير اسم الكود في حالة وجود كود اخر بتفس الاسم وعدا ذلك يبقى بنفس الاسم
  4. السلام عليكم ساشرح لك بمثال لنفرض ان الملف 1 به الكود الثالي Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending .SetRange ws.Range("A8:AH73") .Header = xlNo .Apply End With End Sub وتريد تقل الكود الى الملف 2 حيث تريد عمود الفرز مثلا العمود M واول صف به بيانات هو الصف 10 واخر صف به بيانات هو الصف 120 واول عمود به بيانات B واخر عمود به بيانات هو العمود BA الخطوات :- تعديل الكود ليتناسب مع التغيرات في الملف 2 السطر في الكود .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending السطر السابق خاص بالعمود المطلوب فرزه I8 تعنى بداية فرز البيانات الصف 8 للعمود I تهاية الفرز لتفس العمود الصف 73 الان تريد ان تعدل في السطر حسب الملف2 الملف 2 المطلوب عمود الفرز M واول صف به بيانات هو الصف 10 فتكتب بدل M10 -I8 واخر صف 120 فنستبدل M120 - I73 فيكون السطر النهائي .SortFields.Add Key:=ws.Range("M10:M120"), Order:=xlDescending وكذلك يتم التغيير في السطر .SetRange ws.Range("A8:AH73") هذا النطاق يحتوي على جميع الخلايا من العمود A إلى AH ومن الصف 8 إلى 73. ,والملف 2 الخلايا من العمود Bإلى BAومن الصف 10إلى 120. فيصبح SetRange ws.Range("B10:BA120") فيصبح الكود النهائي Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("M10:M120"), Order:=xlDescending .SetRange ws.Range("B10:BA120") .Header = xlNo .Apply End With End Sub بالتوفيق
  5. عملت امر مسح وربطنه بزر تم المسح وعند الغلق اوامر الاكسل العادية ارفق الملف الموجود لديك حنى نفهم الامر بالتطبيق اليك الملف وبه كود مسح جربه واعلمنى بالنتيجة تعريب الرسائل.xlsb
  6. جزاك الله خيرا استاذنا الفاضل ابو عيد
  7. وعليكم السلام اخي الفاضل وجهت استفسارك لصاحب الكود (الذكاء) فاجابني لا، هذا الكود لا يؤثر على رسائل النظام الافتراضية في Excel، مثل رسالة حفظ التغييرات عند إغلاق الملف أو رسائل الخطأ التلقائية، لأنه يعمل فقط عند استدعاء MyMesg كيف يعمل الكود؟ عند استدعاء MyMesg، يقوم بإنشاء Hook (تعديل مؤقت) لتغيير أسماء الأزرار في رسالة واحدة فقط. بمجرد عرض الرسالة، يتم إلغاء التعديل فورًا (UnhookWindowsHookEx m_hHook). Excel سيستمر في استخدام رسائله الافتراضية دون تغيير. هل يؤثر على الرسائل الأخرى؟ 🔹 لا يؤثر على رسائل النظام الافتراضية (مثل حفظ، إغلاق، أو خطأ الصيغ). 🔹 يؤثر فقط على الرسائل التي يتم إنشاؤها باستخدام MyMesg. إذا كنت تريد تأثيرًا دائمًا؟ إذا كنت تريد تغيير أسماء الأزرار لجميع رسائل MsgBox في Excel، يمكن تعديل Application.OnKey أو استخدام VBA Add-In، لكن هذا سيؤثر على جميع الرسائل. انتهى جواب الذكاء الاصطناعي قمت بتجربة الملف الذي ارفقته لك سابفا عتدقفل الملف تظهر واجهة الاكسل العادية ولا اعلم سبب ظهور الواجهة مختلفة لديك اثمنى من الاعضاء تحميل الملف واعلامنا بشكل الواجهة عتد غلق الملف هل هي واجهة اكسل العادية ام لا
  8. اخونا الفاضل الكود الظاهر في الصورة ليس هو الكود الموجود في اخر ملف ارفقته اليك المشكلة انك كل مرة ترفق ملف مخنلف عن الاخر وهذا يلزم التعديل على الكود هذا طلبك في مشاركتك ما قيل الاخيرة كان طلبك فرز البيانات l6-l80 تم ارفاق ملف بالكود يقوم بالفرز حسب النطاق والعمود ثم تغير طلبك في ملفك الاخير تطاق فرز البيانات l8-l73 لان الصف 74 اصيح مجاميع للاعمدة واصبح الصف 6 رؤوس عناوين وبه خلايا مدمجة فمن الطبيعى ظهور الخطأ اليك كود يتعامل مع اخر ملف ارفقته انت ويعمل جيدا I8:I73 Sub SortData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("I8:I73"), Order:=xlDescending .SetRange ws.Range("A8:AH73") .Header = xlNo .Apply End With End Sub الملف المصنف4.xlsb
  9. السلام عليكم الموضوع كبير ويحتاج الى خبرة واسعة في البرمجة ولهذا عرضت الامر على الذكاء الاصطناعي فقدم لي الكود على طبق من ذهب وها انا اقدمه لك في ملف اكسل مع رسالتين كمثال يمكتك تعديل الكلمات من الكود لنظهر في الرسائل تعريب الرسائل.xlsb
  10. جرب الملف كود لعمل خط تحت الدرجة الاقل.xlsb
  11. صباح الخير عتد الانتهاء من ملفك ارفقه وساضع الاكواد به بالتوفيق
  12. السلام عليكم وضع خط تحت الرقم اقل من نصف الدرجة نم ربطه مع تصدير pdf اليا ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة تحذير العلامة القصوى.xlsm ات اردتها دوائر حمراء ملف العلامات المدرسية فصلين مع ترتيب الأوائل القصوى.xlsm
  13. منع رصد درجة المواد اكبر من الدرجة القصوى الكود سبق ان وضعنه في المرفق السابق في حدث الورقة ارفقه مرة اخرى ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة تحذير العلامة القصوى.xlsm بالنسبة لوضع خط تحت الدرجة لا تحضرنى اي فكرة الان ان اردتها دوائر غدا ان شاءالله اقوم بارفاق الملف
  14. السلام عليكم ما شاء الله ملف رائع واكيد سيستفيذ منه الكثير اظافة للملف وانت تقدر اهمينها من عدمه وهي عند كتابة الدرجة لاي مادة اذا نجاوزت الدرجة القصوي يتم التنبيه برسالة ملف العلامات المدرسية فصلين مع ترتيب الأوائل وطباعة الشهادة.xlsm
  15. السلام عليكم نم تعديل كود خفظ الشهادة يحيت يحفظ باسم الفصل والشعبة حسب ما هو مكتوب في الخليتين b6&b7 ولم يعد التغيير من الكود لم افهم قصدك بمحاولة التعديل على كود الترتيب اذا كان المقصود كلمة مكرر ينم الغائها فالملف المرفق فيه طلبك وان كنل تعنى شئ اخر فاوضح لي الامر ترتيب التلاميذ تصاعديا (1) - Copy.xlsm
  16. حل بالكود في العمود b اصغط على الزر واختر الدولة وحل بالمعادلات في العمود c' المصنف_2.xlsb
  17. وعليكم السلام ورحمة الله وبركاته جرب الطريقة التالية ربما تعيد الايقونة ولست مناكد لوحة التحكم -البرامج والميزات - انقر بزر الفارة اليمين على microfoft office - نغيير - اصلاح - ثم اتبع الخطوات
  18. يمكن الغاء مكرر من الكود ss = " مكرر": RNK = i - 1: Exit For استبدلها ss = " ": RNK = i - 1: Exit For
  19. السلام عليكم اوافق استاذتا ابو عيد على ما تفضل به ولكن احيانا لائحة الدراسة والامتحانات تنص على هذه الطريقة على كل حال من اكواد وكنوز المنتدى فيه طلبك ان شاء الله ترتيب التلاميذ تصاعديا (1).xlsm
  20. السلام عليكم اذا تقصد الفرز من الاعلى رصيد الى الاقل رصيد استخدم الكود التالي Sub ترتيب_تنازلي() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("ورقة1") With ws .Range("A4:E6").Sort Key1:=.Range("E4:E6"), Order1:=xlDescending, Header:=xlNo End With End Sub ويمكنك نعديل نطاق البيانات من الكود الملف عملاء.xlsb
  21. وعليكم السلام ورحمة الله وبركاته ما تفضل به الاستاذ حجازي يكفى وفي تفس الوقت يمكن تعديل المعادلة لتعطى الخلية فارغة =IF($B$8="";"";IFERROR(1/(1/INDEX(Monthly1;$B$8;3));"")) الملف بدون اصفار الشهادات.xlsm
  22. السلام عليكم عذرا اخونا بلانك صاحب الموضوع الرئيسي abou_stef وضع سؤاله وتم الاجابه عليه فلماذا لم تدرج سؤالك في موضوع جديد باسمك بدل من ادراجه مع موضوع لعضو اخر الا اذا كنتما تفس الشخص عذرا مرة اخرى ولك كل الاحترام والتقدير
×
×
  • اضف...

Important Information